diff --git a/src/components/common/langs/en.js b/src/components/common/langs/en.js index a81d9e3..adbad11 100644 --- a/src/components/common/langs/en.js +++ b/src/components/common/langs/en.js @@ -369,7 +369,40 @@ const en = { ruleZhName: 'Enter Chinese name', ruleEnName: 'Enter English name', ruleCode: 'Enter code', - rulePartition: 'Select a partition' + rulePartition: 'Select a partition', + batchPartitionBtn: 'Batch update partition', + batchPartitionTitle: 'Batch update partition', + batchPartitionTargetLabel: 'Target partition', + batchPartitionTargetRequired: 'Please select target partition first', + batchPartitionHelp: + 'One record per line: ISO code (3 letters) OR English OR Chinese name. Lines starting with # are comments. Example:\nDNK\nDenmark', + batchPartitionPlaceholder: 'Paste data, e.g.:\nDNK\nISR', + batchPartitionPreview: 'Preview match', + batchPartitionApply: 'Apply partition updates', + batchPartitionEmpty: 'Enter valid data (one country key per line)', + batchPartitionLoadListFailed: 'Failed to load full country list', + batchPartitionPreviewEmpty: 'Nothing to match', + batchPartitionColKey: 'Key from input', + batchPartitionColCurrentPartition: 'Current partition', + batchPartitionColPartition: 'Target partition', + batchPartitionColMatch: 'Match', + batchPartitionColId: 'country_id', + batchPartitionColName: 'English name', + batchPartitionMatched: 'Matched', + batchPartitionMismatch: 'Partition mismatch', + batchPartitionMissing: 'Not found', + batchPartitionSkipSame: 'Same partition', + batchPartitionApplyConfirm: 'Update partition only for {n} row(s). Continue?', + batchPartitionFilterPlaceholder: 'Filter by key / English / code / Chinese (use ; or , for multiple)', + batchPartitionSelectAllFiltered: 'Select all (filtered)', + batchPartitionClearSelection: 'Clear selection', + batchPartitionFilterCount: 'Showing {show} of {total}', + batchPartitionSelectionHint: + 'Filter the table below, then tick rows to update. "Select all" only selects filtered rows that need a partition change. If nothing is ticked, all rows that need an update are submitted.', + batchPartitionNoSelection: 'Selection mode is on but no rows are ticked. Tick at least one row, or click Clear selection to submit all.', + batchPartitionDone: 'Done: {input} line(s) in batch; {ok} updated, {fail} failed, {miss} not found.', + batchPartitionSummaryLine: + 'Summary: {input} line(s) parsed; {matched} matched; {miss} not found; {same} unchanged (same partition); {will} will be updated.' }, mailboxConfig: { mailSystem: 'Mailbox system', @@ -1183,11 +1216,17 @@ colTitle: 'Template title', factoryScenarioGeneralThanks: 'General Thanks', createdAt: 'Created at', noFactoryTask: 'No tasks', - factoryCreateNow: 'Create now' + factoryCreateNow: 'Create now', + emailClientCreateTaskBtn: 'Create task', + emailClientCreateTaskNeedFactory: 'Please select a promotion factory task in the dropdown first', + emailClientCreateTaskSuccess: 'Task created', + emailClientCreateTaskFailed: 'Failed to create task', + emailClientCreateTaskPreparingHint: 'Task created. Generating the mailing list may take a few minutes, please wait...' } , autoPromotionLogs: { detail: 'Auto Promotion Details', + factoryTaskSelectPlaceholder: 'Select promotion task', configured: 'Configured', editConfig: 'Edit auto promotion configuration', startConfig: 'Start auto promotion configuration', @@ -1228,6 +1267,8 @@ colTitle: 'Template title', enable: 'Enable', pause: 'Pause', previewEditTitle: 'Preview and edit promotion email', + logDetailEditTitle: 'Edit promotion send log', + logDetailPreviewTitle: 'Preview promotion send log', receiver: 'Receiver:', receiverImmutablePlaceholder: 'Receiver email cannot be changed', subject: 'Subject:', diff --git a/src/components/common/langs/zh.js b/src/components/common/langs/zh.js index 31d0d0e..3358a51 100644 --- a/src/components/common/langs/zh.js +++ b/src/components/common/langs/zh.js @@ -358,7 +358,40 @@ const zh = { ruleZhName: '请输入中文名称', ruleEnName: '请输入英文名称', ruleCode: '请输入代码', - rulePartition: '请选择分区' + rulePartition: '请选择分区', + batchPartitionBtn: '批量修改分区', + batchPartitionTitle: '批量修改分区', + batchPartitionTargetLabel: '目标分区', + batchPartitionTargetRequired: '请先选择目标分区', + batchPartitionHelp: + '每行一条:国家代码(3位) 或 英文名 或 中文名。# 开头为注释。示例:\nDNK\nDenmark\n丹麦', + batchPartitionPlaceholder: '粘贴数据,例如:\nDNK\nISR', + batchPartitionPreview: '预览匹配', + batchPartitionApply: '确认写入分区', + batchPartitionEmpty: '请先填写有效数据(每行一个国家标识)', + batchPartitionLoadListFailed: '拉取全量国家列表失败', + batchPartitionPreviewEmpty: '没有可匹配的行', + batchPartitionColKey: '输入标识', + batchPartitionColCurrentPartition: '当前分区', + batchPartitionColPartition: '目标分区', + batchPartitionColMatch: '匹配结果', + batchPartitionColId: 'country_id', + batchPartitionColName: '英文名', + batchPartitionMatched: '已匹配', + batchPartitionMismatch: '分区不一致', + batchPartitionMissing: '未匹配', + batchPartitionSkipSame: '分区相同', + batchPartitionApplyConfirm: '将按当前规则仅更新分区字段,共 {n} 条。是否继续?', + batchPartitionFilterPlaceholder: '筛选:输入标识 / 英文名 / 代码 / 中文名(可用分号、逗号分隔多个关键词)', + batchPartitionSelectAllFiltered: '全选当前筛选', + batchPartitionClearSelection: '取消全选', + batchPartitionFilterCount: '当前显示 {show} / 共 {total} 条', + batchPartitionSelectionHint: + '说明:可先在下方筛选,再勾选要提交的行。「全选」只勾选当前筛选结果中、且分区有变化的行。未勾选任何行时,将提交全部「将提交更新」的行。', + batchPartitionNoSelection: '当前为「仅勾选」模式,请至少勾选一行,或点「取消全选」恢复为提交全部。', + batchPartitionDone: '批量完成:本次录入 {input} 条;更新成功 {ok} 条,失败 {fail} 条;未匹配 {miss} 条。', + batchPartitionSummaryLine: + '统计:录入 {input} 条;已匹配 {matched} 条;未匹配 {miss} 条;分区相同跳过 {same} 条;将提交更新 {will} 条。' }, mailboxConfig: { mailSystem: '邮件系统', @@ -1168,11 +1201,17 @@ const zh = { factoryScenarioGeneralThanks: '常规感谢', createdAt: '创建时间', noFactoryTask: '没有任务', - factoryCreateNow: '立即创建' + factoryCreateNow: '立即创建', + emailClientCreateTaskBtn: '创建任务', + emailClientCreateTaskNeedFactory: '请先在下拉框中选择推广工厂任务', + emailClientCreateTaskSuccess: '创建任务成功', + emailClientCreateTaskFailed: '创建任务失败', + emailClientCreateTaskPreparingHint: '创建任务成功,生成发送邮件列表需要几分钟,请耐心等候...' } , autoPromotionLogs: { detail: '自动推广详情', + factoryTaskSelectPlaceholder: '选择推广任务', configured: '已配置', editConfig: '修改期刊自动推广配置', startConfig: '立即开始期刊自动推广配置', @@ -1213,6 +1252,8 @@ const zh = { enable: '开启', pause: '暂停', previewEditTitle: '预览并修改推广邮件', + logDetailEditTitle: '编辑推广发送记录', + logDetailPreviewTitle: '预览推广发送记录', receiver: '收件人:', receiverImmutablePlaceholder: '收件人邮箱不可更改', subject: '主题:', diff --git a/src/components/page/autoPromotion.vue b/src/components/page/autoPromotion.vue index f015d67..77c0a8c 100644 --- a/src/components/page/autoPromotion.vue +++ b/src/components/page/autoPromotion.vue @@ -83,12 +83,12 @@ {{ taskCard.templateName || 'No Template Configured' }} -
{{ $t('countryManagement.batchPartitionHelp') }}
+{{ $t('countryManagement.batchPartitionSelectionHint') }}
+ +