自动化推广【约稿】

This commit is contained in:
2026-03-23 09:28:56 +08:00
parent f44b3910a4
commit 12760aaf44
21 changed files with 3482 additions and 559 deletions

View File

@@ -129,7 +129,9 @@ const en = {
doubleConfirmContent: 'Are you sure you want to authorize this rate change? This adjustment will immediately synchronize with the billing system and impact all future financial settlements.',
// 3. 反馈
updateSuccess: 'The journal APC standard has been successfully updated.'
updateSuccess: 'The journal APC standard has been successfully updated.',
executiveEditor:'Executive Editor',
databases:'Database inclusion',
},
@@ -272,8 +274,10 @@ const en = {
emailStyles: 'Email Styles',
tools: 'Assistant tools',
mailboxManagement: 'Mailbox Management',
mailboxConfig: 'Mailbox Management',
scholarCrawlers: 'Scholar Crawlers',
expertDatabase: 'Expert Database',
autoPromotion: 'Auto Promotion',
ReArticles: 'Rejected Manuscripts', // 被拒稿件
editorialBoard: 'Boss System',
editorialBoard1: 'Board Management',
@@ -287,15 +291,40 @@ const en = {
mailboxCollect: 'Email List',
promotionManagement: 'Promotion Management',
},
expertDatabase: {
fieldSelectPlaceholder: 'Please select field',
keywordPlaceholder: 'Name / Email / Affiliation',
searchBtn: 'Search',
resetBtn: 'Reset',
downloadExcelBtn: 'Download Excel',
table: {
no: 'No.'
},
columns: {
baseInfo: 'Base Information',
affiliation: 'Affiliation',
researchAreas: 'Research areas'
},
fields: {
nameLabel: 'Name:',
emailLabel: 'Email:',
acquisitionTimeLabel: 'Acquisition Time:'
},
exportWarn: 'Please select a research area or enter a keyword before exporting.',
exportFailed: 'Export failed'
},
mailboxConfig: {
mailSystem: 'Mailbox system',
title: 'Mailbox config',
journal: 'Journal',
allJournal: 'All journals',
query: 'Search',
refresh: 'Refresh',
addAccount: 'Add email account',
noData: 'No data',
smtpFromName: 'Sender name',
no: 'No.',
loading: 'Loading...',
smtpFromName: 'Name',
smtpFromNamePlaceholder: 'Display name when sending',
smtpHost: 'SMTP host',
smtpPort: 'SMTP port',
@@ -313,7 +342,7 @@ const en = {
operation: 'Operation',
edit: 'Edit',
delete: 'Delete',
mailManage: 'Mail manage',
mailManage: 'Email List',
dialogAdd: 'Add email account',
dialogEdit: 'Edit email account',
selectJournal: 'Select journal',
@@ -331,6 +360,7 @@ const en = {
cancel: 'Cancel',
save: 'Save',
deleteConfirm: 'Delete this email config?',
deleteTitle: 'Delete email account',
confirm: 'Confirm',
addSuccess: 'Added successfully',
editSuccess: 'Updated successfully',
@@ -356,6 +386,7 @@ const en = {
mailboxMould: {
title: 'Email Templates',
subtitle: 'Manage and customize your journal email templates.',
no: 'No.',
searchPlaceholder: 'Search by title or scene...',
journalPlaceholder: 'Journal',
scenePlaceholder: 'Scene',
@@ -366,8 +397,8 @@ const en = {
languagePlaceholder: 'Language',
searchBtn: 'Search',
createTemplate: 'Create Template',
colTitle: 'Subject',
colSubject: 'Mail title',
colTitle: 'Template title',
colSubject: 'Email subject',
colScene: 'Scene',
colLanguage: 'Language',
colVersion: 'Version',
@@ -386,6 +417,7 @@ const en = {
mailboxStyle: {
title: 'Email Styles',
subtitle: 'Manage email header and footer styles.',
no: 'No.',
searchPlaceholder: 'Search by name or description...',
journalPlaceholder: 'Journal',
scenePlaceholder: 'Scene',
@@ -472,6 +504,7 @@ const en = {
time: 'Time',
look: 'Look',
emptyText: 'New messages (0)',
loading: 'Loading...',
detailTitle: 'Mail detail',
from: 'From',
to: 'To',
@@ -489,12 +522,14 @@ const en = {
nameColumn: 'Name',
switchColumn: 'Switch',
useBtn: 'Switch',
currentAccountText: 'Current account',
changeAccountBtn: 'Change account',
syncSuccess: 'Sync succeeded',
syncFail: 'Sync failed',
operation: 'Operation',
loadingMore: 'Loading more...',
noMore: 'No more',
yesterday: 'Yesterday',
selectAccountTip: 'Please select an email account first.'
},
mailboxSend: {
@@ -508,6 +543,7 @@ const en = {
templateSelection: 'Template selection',
sender: 'Sender:',
send: 'Send',
sending: 'Sending...',
selectUser: 'Select User',
batchSelection: 'Batch selection',
email: 'Email',
@@ -534,7 +570,10 @@ const en = {
sendFail: 'Send failed',
sendMock: 'Send (mock): will really send when api/Mail/sendMail is ready',
needAccount: 'Please select a sender account from the mailbox list first',
backToInbox: 'Back to inbox',
selectTemplateStyleFirst: 'Please select template and style first',
recipientLimit: 'You can add up to {count} recipient(s)',
recipientLimitPlaceholder: 'Limit reached (max {count})',
backToInbox: 'Back to email list',
},
home: {
authortop: 'Author guide',
@@ -821,8 +860,93 @@ const en = {
"imgLabel": "Img"
},
mailTemplate: {
noTemplateTip: 'No templates are available for the current journal. Please select another journal or contact the administrator to configure templates.'
}
noTemplateTip: 'No templates are available for the current journal. Please select another journal or go add templates first.',
addTemplateBtn: 'Go add templates',
templateTab: 'Template',
styleTab: 'Style',
loading: 'Loading...',
refresh: 'Refresh'
},
autoPromotion: {
title: 'Auto Promotion',
journal: 'Journal',
logs: 'Promotion History',
saved: 'Saved',
loading: 'Loading...',
refresh: 'Refresh',
autoSolicit: 'Auto Solicitation',
editConfig: 'Edit Configuration',
running: 'Running',
emailTemplate: 'Email Template',
emailStyle: 'Email Style',
notStarted: 'Auto solicitation plan is not enabled',
notInitializedTip: 'Auto solicitation is not enabled. Please configure template and style first, then enable the plan.',
journalManage: 'Journal Management',
loadListFailed: 'Failed to load journal list',
goConfig: 'Configure',
goManagePlan: 'Manage Plan',
startPlan: 'Start Plan',
startedPlan: 'plan enabled',
updateRetryFailed: 'Update failed, please try again later',
selectTemplateStyleFirst: 'Please select template and style before confirming',
configSaved: 'Configuration saved',
saveFailed: 'Save failed',
notInitializedSwitchTip: 'Auto solicitation is not initialized. Please configure templates first',
planEnabled: 'Plan enabled',
planDisabled: 'Plan disabled',
updateFailed: 'Update failed',
cancel: 'Cancel',
saveAndApply: 'Save and apply configuration',
selectTemplateStyleTitle: 'Choose journal template and style',
clickToChooseTemplate: 'Click to choose journal email template',
noPreview: 'No Preview',
templateName: 'Template Name',
styleName: 'Style Name',
defaultStyle: 'Default',
changeTemplate: 'Change Template',
confirmAndEnable: 'Confirm and Enable',
onlySaveConfig: 'Save configuration only',
enableNowNextDay: 'Enable auto promotion now (starts next day)'
}
,
autoPromotionLogs: {
detail: 'Auto Promotion Details',
configured: 'Configured',
editConfig: 'Edit auto promotion configuration',
startConfig: 'Start auto promotion configuration',
notConfigured: 'Not configured',
searchPlaceholder: 'Name / Email',
searchBtn: 'Search',
index: 'No.',
expertInfo: 'Expert Info',
templateStyle: 'Template / Style',
stylePrefix: 'Style',
runAt: 'Execution time',
status: 'Status',
paused: 'Paused',
toRun: 'To run',
operation: 'Operation',
preview: 'Preview',
enable: 'Enable',
pause: 'Pause',
previewEditTitle: 'Preview and edit promotion email',
receiver: 'Receiver:',
receiverImmutablePlaceholder: 'Receiver email cannot be changed',
subject: 'Subject:',
subjectPlaceholder: 'Please enter mail subject',
runAtPlaceholder: 'Please select execution time',
cancel: 'Cancel',
confirmEdit: 'Confirm Edit',
mailContentSaved: 'Mail content has been saved. It will be sent with this content.',
templateNotSelected: 'No template selected',
selectTemplateWarning: 'Please select a template before confirming',
configUpdated: 'Configuration updated',
pauseSuccess: 'Paused',
enableSuccess: 'Enabled',
deletedSuccess: 'Deleted',
mockPromotionSubject: 'Promotion for {journal}',
mockPromotionContent: '<p>Dear {name},</p><p>Check out our latest journal updates...</p>'
}

View File

@@ -122,7 +122,10 @@ const zh = {
cancel: '取消',
doubleConfirmTitle: '最终操作确认',
doubleConfirmContent: '确定要授权此项金额变更吗?此操作具有法律效力上的即时性,将直接影响后续所有财务结算流程。',
updateSuccess: '期刊计费标准已成功更新。'
updateSuccess: '期刊计费标准已成功更新。',
executiveEditor:'责任编辑',
databases:'收录数据库',
},
paperArticleCount: {
Periodroll: '期卷',
@@ -262,6 +265,7 @@ const zh = {
scholarCrawlers: '学者数据库',
expertDatabase: '专家库',
autoPromotion: '自动推广',
ReArticles: '被拒稿件', // 被拒稿件
editorialBoard: '编委管理',
editorialBoard1: '编委列表',
@@ -276,15 +280,40 @@ const zh = {
promotionManagement: '推广管理',
},
expertDatabase: {
fieldSelectPlaceholder: '请选择研究领域',
keywordPlaceholder: '姓名 / 邮箱 / 单位',
searchBtn: '搜索',
resetBtn: '重置',
downloadExcelBtn: '下载 Excel',
table: {
no: '序号'
},
columns: {
baseInfo: '基础信息',
affiliation: '单位',
researchAreas: '研究领域'
},
fields: {
nameLabel: '姓名:',
emailLabel: '邮箱:',
acquisitionTimeLabel: '采集时间:'
},
exportWarn: '请选择研究领域或输入关键词后再导出。',
exportFailed: '导出失败'
},
mailboxConfig: {
mailSystem: '邮件系统',
title: '邮箱配置管理',
title: '邮箱账号管理',
journal: '所属期刊',
allJournal: '全部期刊',
query: '搜索',
refresh: '刷新',
addAccount: '添加邮箱账号',
noData: '暂无数据',
smtpFromName: '发件人名称',
no: '序号',
loading: '加载中...',
smtpFromName: '名称',
smtpFromNamePlaceholder: '发信时显示的名称',
smtpHost: 'SMTP 地址',
smtpPort: 'SMTP 端口',
@@ -302,7 +331,7 @@ const zh = {
operation: '操作',
edit: '编辑',
delete: '删除',
mailManage: '邮箱管理',
mailManage: '邮件列表',
dialogAdd: '添加邮箱账号',
dialogEdit: '修改邮箱账号信息',
selectJournal: '请选择期刊',
@@ -319,7 +348,8 @@ const zh = {
primaryTip: '每个期刊有且仅有一个主邮箱,用于默认发信与收信。',
cancel: '取消',
save: '保存',
deleteConfirm: '确定删除该邮箱配置',
deleteConfirm: '确定删除该邮箱账号',
deleteTitle: '删除邮箱账号',
confirm: '确定',
addSuccess: '添加成功',
editSuccess: '修改成功',
@@ -345,6 +375,7 @@ const zh = {
mailboxMould: {
title: '邮件模板',
subtitle: '管理并自定义期刊邮件模板。',
no: '序号',
searchPlaceholder: '按标题或场景搜索...',
journalPlaceholder: '期刊',
scenePlaceholder: '场景',
@@ -355,8 +386,8 @@ const zh = {
languagePlaceholder: '语言',
searchBtn: '搜索',
createTemplate: '新建模板',
colTitle: '题',
colSubject: '邮件题',
colTitle: '模版标题',
colSubject: '邮件题',
colScene: '场景',
colLanguage: '语言',
colVersion: '版本',
@@ -375,6 +406,7 @@ const zh = {
mailboxStyle: {
title: '邮件风格',
subtitle: '管理邮件头部和尾部样式。',
no: '序号',
searchPlaceholder: '按名称或描述搜索...',
journalPlaceholder: '期刊',
scenePlaceholder: '场景',
@@ -461,6 +493,7 @@ const zh = {
time: '时间',
look: '查看',
emptyText: '暂无邮件',
loading: '加载中...',
detailTitle: '邮件详情',
from: '发件人',
to: '收件人',
@@ -478,12 +511,14 @@ const zh = {
nameColumn: '名称',
switchColumn: '切换',
useBtn: '切换',
currentAccountText: '当前账号',
changeAccountBtn: '切换邮箱账号',
syncSuccess: '同步成功',
syncFail: '同步失败',
operation: '操作',
loadingMore: '加载更多...',
noMore: '没有更多了',
yesterday: '昨天',
selectAccountTip: '请先选择一个邮箱账号.',
},
mailboxSend: {
@@ -497,6 +532,7 @@ const zh = {
templateSelection: '模板选择',
sender: '发件人:',
send: '发送',
sending: '发送中...',
selectUser: '选择用户',
batchSelection: '批量选择',
email: '邮箱',
@@ -523,6 +559,9 @@ const zh = {
sendFail: '发送失败',
sendMock: '发送(模拟):接口 api/Mail/sendMail 就绪后将真实发送',
needAccount: '请从邮箱列表选择发件账号后再发送',
selectTemplateStyleFirst: '请先选择模板和风格',
recipientLimit: '最多只能添加 {count} 个收件人',
recipientLimitPlaceholder: '已达上限(最多 {count} 个)',
backToInbox: '返回收件箱',
},
home: {
@@ -806,7 +845,92 @@ const zh = {
},
mailTemplate: {
// 如果已经有 mailTemplate就只加这一行
noTemplateTip: '当前期刊暂无可用模板,请重新选择期刊或联系管理员配置模板。'
noTemplateTip: '当前期刊暂无可用模板,请重新选择期刊或先去新增模板。',
addTemplateBtn: '去新增模板',
templateTab: '模版',
styleTab: '样式',
loading: '加载中...',
refresh: '刷新'
},
autoPromotion: {
title: '自动推广',
journal: '期刊',
logs: '历史推广记录',
saved: '已保存',
loading: '加载中...',
refresh: '刷新',
autoSolicit: '自动约稿',
editConfig: '修改配置',
running: '运行中',
emailTemplate: '邮件模板',
emailStyle: '邮件风格',
notStarted: '未开启自动约稿计划',
notInitializedTip: '自动约稿未启用,请先完成期刊模版风格配置并开启计划',
journalManage: '期刊管理',
loadListFailed: '期刊列表加载失败',
goConfig: '去配置',
goManagePlan: '去管理约稿计划',
startPlan: '开启约稿计划',
startedPlan: '已开启约稿计划',
updateRetryFailed: '更新失败,请稍后重试',
selectTemplateStyleFirst: '请选择模板和风格后再确认',
configSaved: '约稿配置已保存',
saveFailed: '保存失败',
notInitializedSwitchTip: '自动化约稿没有初始化,请先配置模版',
planEnabled: '已开启约稿计划',
planDisabled: '已关闭约稿计划',
updateFailed: '更新失败',
cancel: '取消',
saveAndApply: '保存并应用配置',
selectTemplateStyleTitle: '选择期刊模版风格',
clickToChooseTemplate: '点击选择期刊邮件模版',
noPreview: '暂无预览',
templateName: '模版名称',
styleName: '风格名称',
defaultStyle: '默认风格',
changeTemplate: '更换模版',
confirmAndEnable: '确认并开启',
onlySaveConfig: '仅保存配置',
enableNowNextDay: '立即激活自动推广(次日开始自动推广)'
}
,
autoPromotionLogs: {
detail: '自动推广详情',
configured: '已配置',
editConfig: '修改期刊自动推广配置',
startConfig: '立即开始期刊自动推广配置',
notConfigured: '尚未配置',
searchPlaceholder: '姓名 / 邮箱',
searchBtn: '搜索',
index: '序号',
expertInfo: '专家信息',
templateStyle: '模板 / 风格',
stylePrefix: '风格',
runAt: '执行时间',
status: '状态',
paused: '已暂停',
toRun: '待执行',
operation: '操作',
preview: '查看预览',
enable: '开启',
pause: '暂停',
previewEditTitle: '预览并修改推广邮件',
receiver: '收件人:',
receiverImmutablePlaceholder: '收件人邮箱不可更改',
subject: '主题:',
subjectPlaceholder: '请输入邮件主题',
runAtPlaceholder: '请选择执行时间',
cancel: '取消',
confirmEdit: '确认修改',
mailContentSaved: '邮件内容已保存,将按此内容执行发送',
templateNotSelected: '未选择模板',
selectTemplateWarning: '请选择一个模板后再确认',
configUpdated: '配置已更新',
pauseSuccess: '已暂停',
enableSuccess: '已开启',
deletedSuccess: '已删除',
mockPromotionSubject: '自动推广:{journal}',
mockPromotionContent: '<p>亲爱的 {name}</p><p>请查看我们最新的期刊更新...</p>'
}