1514 lines
57 KiB
JavaScript
1514 lines
57 KiB
JavaScript
const en = {
|
||
|
||
system: {
|
||
title: 'Publishing Group Submission System',
|
||
title_1: 'Publishing Group',
|
||
title_2: 'Submission System',
|
||
repassword: 'Forgot your password?',
|
||
register: 'Register',
|
||
orcidlogin: 'Login with your ORCID iD',
|
||
login: 'Log in',
|
||
forgetpwd: 'Find Your Password',
|
||
screen: 'full screen',
|
||
noscreen: 'Cancel full screen',
|
||
loyout: 'Log out',
|
||
langbtn: 'language',
|
||
label: 'Label options',
|
||
labelother: 'close other',
|
||
labelall: 'close all'
|
||
},
|
||
info: {
|
||
realname: 'English names can only contain uppercase and lowercase letters, "-", and spaces'
|
||
},
|
||
articleAdd: {
|
||
qqEmailAlertLine1: 'The publisher does not currently accept submissions from QQ Mail.',
|
||
qqEmailAlertLine2Before: 'Please go to',
|
||
qqEmailDashboardLink: 'Personal Center (Dashboard)',
|
||
qqEmailAlertLine2After: ' to change your registered email.',
|
||
qqEmailSubmitBlockedMsg: 'QQ Mail is not supported for submission. Please go to Personal Center (Dashboard) and change your email.'
|
||
},
|
||
total: {
|
||
author: 'author',
|
||
editor: 'editor',
|
||
reviewers: 'reviewer',
|
||
admin: 'admin'
|
||
},
|
||
articleListEditor: {
|
||
Continuouspublication: 'Continuous publication',
|
||
publishInfo: 'Are you sure you want to publish this article?',
|
||
type: 'Type',
|
||
edit: 'Edit',
|
||
add: 'Add',
|
||
journalType0: 'Continuous publication',
|
||
journalType1: 'Monthly',
|
||
journalType3: 'Quarterly',
|
||
coverImage: 'Cover Image',
|
||
JournalInstallment: 'Journal Installment',
|
||
status: 'Status',
|
||
delete: 'Delete',
|
||
deleteInfo: 'Are you sure you want to delete this journal installment?',
|
||
plagiarismNotChecked: 'Not checked',
|
||
plagiarismChecking: 'Checking…',
|
||
plagiarismRecheck: 'Re-check',
|
||
plagiarismDuplicateCheck: 'Re-check',
|
||
plagiarismCheckFailed: 'Failed to start plagiarism check.',
|
||
plagiarismStatusFailed: 'Failed to load plagiarism status.',
|
||
plagiarismNoReportUrl: 'Report link is not available yet.',
|
||
plagiarismReportDetailFailed: 'Could not load manuscript details. Please try again.',
|
||
plagiarismListTitle: 'Plagiarism check history',
|
||
plagiarismAutoCheck: 'Auto plagiarism check',
|
||
plagiarismRefresh: 'Refresh',
|
||
plagiarismEmptyList: 'No plagiarism checks yet',
|
||
plagiarismSimilarity: 'Similarity',
|
||
plagiarismFile: 'File',
|
||
plagiarismPreviewPdf: 'Preview report',
|
||
plagiarismReportLink: 'Report',
|
||
plagiarismNoPdfLink: 'No link',
|
||
plagiarismPreviewClose: 'Close',
|
||
plagiarismPreviewOpenTab: 'Open in new tab',
|
||
},
|
||
menu: {
|
||
main: 'Personal Center',
|
||
PublicationSystem: 'Publication System',
|
||
PaperEditingSystem: 'Paper Editing System',
|
||
PaperPublicationSupervise: 'Paper Publication Supervise',
|
||
PaperSubmitanalysis: 'Paper Submit Analysis',
|
||
ArticlePublicationanalysis: 'Article Publication Analysis',
|
||
journalArticleCount: 'Article Count',
|
||
Promotionsystem: 'Promotion System',
|
||
Userdatabase: 'User Database',
|
||
analysis: 'Article Analysis',
|
||
evaluationsis: 'Article Distribution',
|
||
userManSys1: 'Total User',
|
||
userManSys13: 'Untapped Users',
|
||
userManSys14: 'All Users',
|
||
userManSys15: 'Author Database',
|
||
userManSys7: 'Blacklist',
|
||
userManSys6: 'Promotion Record',
|
||
JournalCitationAnalysis: 'Journal Citation Analysis',
|
||
Academicresourcesupervise: 'Academic Resource Supervise',
|
||
Classificationmanagement: 'Classification Management',
|
||
ClassificationmanagementInfo: 'Classification',
|
||
publicationsupervise: 'Publication Supervise',
|
||
papersubmit: 'Paper Submit',
|
||
ArticlePublication: 'Article Publication',
|
||
JournalCitationAnalysis: 'Journal Citation Analysis',
|
||
|
||
},
|
||
|
||
|
||
GroupClassification: {
|
||
add: 'Add',
|
||
cancel: 'Cancel',
|
||
submit: 'Submit',
|
||
edit: 'Edit',
|
||
delete: 'Delete',
|
||
major_title: 'Major Title',
|
||
major_current: 'Current Major',
|
||
nickname: 'Nick Name',
|
||
enter: 'Please Enter...',
|
||
sort: 'Sort',
|
||
deleteInfo: 'Are you sure you want to delete this category',
|
||
Unbind: 'Unbind',
|
||
bind: 'Bind',
|
||
ExpandAll: 'Expand All',
|
||
Journal: 'Journal',
|
||
JournalBindInfo: 'The Journal',
|
||
BindInfo: 'will be bound to this category, Do you want to continue?',
|
||
UnBindInfo: 'will unbind this category, Do you want to continue?',
|
||
Tips: 'Tips',
|
||
AssociatedJournal: 'Associated Journal',
|
||
|
||
},
|
||
JournalCitationAnalysis: {
|
||
journal: 'Journal',
|
||
editor: 'Editor',
|
||
cite: 'Cited in',
|
||
citeNum: 'Cited',
|
||
article: 'Articles for',
|
||
articleNum: 'Articles',
|
||
info: 'The following data is',
|
||
Fee: 'Fee',
|
||
wos: 'Wos',
|
||
all: 'All references',
|
||
factor: 'Factor',
|
||
Sameperiod: 'Same period',
|
||
ArticleInfo: 'Article Information',
|
||
website: 'Website',
|
||
email: 'Email',
|
||
abbr: 'abbr',
|
||
edit: 'Edit',
|
||
level: 'Level',
|
||
editorinchief: 'Editor In Chief',
|
||
journal_topic: 'Research areas',
|
||
// 1. 录入弹窗 (image_e6d8fa.png)
|
||
feeDialogTitle: 'Adjustment of Article Processing Charge (APC)',
|
||
feeWarningTitle: 'Financial Configuration Alert',
|
||
feeWarningDesc: 'Modifying the APC is a critical update. The new rate will be applied prospectively to all new submissions upon confirmation.',
|
||
feeLabel: 'New APC Amount (USD)',
|
||
placeholder: 'Enter amount',
|
||
confirmUpdate: 'Update Standard',
|
||
cancel: 'Cancel',
|
||
|
||
// 2. 二次确认弹窗 (image_e6d449.png)
|
||
doubleConfirmTitle: 'Final Regulatory Confirmation',
|
||
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.',
|
||
executiveEditor:'Executive Editor',
|
||
databases:'Database inclusion',
|
||
|
||
},
|
||
|
||
partyRole: {
|
||
identity: 'Identity',
|
||
InvestorProducer: 'Investor Producer',
|
||
author: 'Author',
|
||
status: 'Status',
|
||
Published: 'Published', journal: 'Journal',
|
||
},
|
||
paperArticleCount: {
|
||
Periodroll: 'Period Roll',
|
||
article: 'Articles',
|
||
articleTitle: 'Article Tiltle',
|
||
articleLen: 'Number Of Articles',
|
||
articleLen1: 'Articles',
|
||
cite: 'Cited',
|
||
relation: 'Relation',
|
||
|
||
},
|
||
|
||
|
||
partyListCorr: {
|
||
Realname: 'Realname',
|
||
Email: 'Email',
|
||
unregistered: 'unregistered',
|
||
OtherInformation: 'Other Information',
|
||
articlelist: 'Article List',
|
||
journal: 'Journal',
|
||
Authors: 'Authors',
|
||
},
|
||
sidebar: {
|
||
main: 'Personal Center',
|
||
author: 'Author',
|
||
author1: 'My manuscripts',
|
||
author2: 'Submit manuscript',
|
||
author4: 'Order List',
|
||
author3: 'Manuscripts in Draft',
|
||
editor: 'Editor',
|
||
editor1: 'Paper Editing System',
|
||
// editor1: 'Manuscript list',
|
||
editormanage: 'Editor Management',
|
||
editormanage1: 'Editor list',
|
||
editormanage2: 'Add editor',
|
||
journal: 'Journal Management',
|
||
journal1: 'Journal list',
|
||
journal2: 'Add journal',
|
||
reviewer: 'Reviewer Management',
|
||
reviewer1: 'Reviewer application list',
|
||
reviewer2: 'Reviewer list',
|
||
reviewer3: 'Reviewer import',
|
||
reviewer4: 'Reviewer error',
|
||
reviewer5: 'Reviewer Add',
|
||
reviewer6: 'Author transferred to reviewer',
|
||
reviewerArticle: 'Reviewer',
|
||
reviewerArticle1: 'Manuscript list',
|
||
authorApplyReviewer: 'Become reviewer',
|
||
reviewerimport: 'Reviewer import',
|
||
reviewerimporterror: 'import error',
|
||
monitor: 'Monitor',
|
||
monitor1: 'Manuscript situation',
|
||
document: 'Manuscript List',
|
||
chief: 'Chief editor',
|
||
chief1: 'Chief editor list',
|
||
chief2: 'Journal list',
|
||
editmber: 'Editorial management',
|
||
editmber1: 'Editorial board list',
|
||
editmber2: 'Editorial board list',
|
||
editmber3: 'Matching pattern',
|
||
userTalSys: 'User Management System',
|
||
userTalSys1: 'Total User',
|
||
userTalSys2: 'User Blacklist',
|
||
userTalSys3: 'Editorial board',
|
||
userTalSys4: 'Reviewer application list',
|
||
userTalSys5: 'Author transferred to reviewer',
|
||
userTalSys6: 'Reviewer list',
|
||
userTalSys7: 'Editorial board apply list',
|
||
userTalSys8: 'Young Scientist apply list',
|
||
userManSys: 'User Management System',
|
||
journalManagement: 'Journal Management',
|
||
journalList: 'Journal List',
|
||
userManSys1: 'Total User',
|
||
userManSys11: 'Active Users',
|
||
userManSys12: 'Inactive Users',
|
||
userManSys13: 'Untapped Users',
|
||
userManSys14: 'All Users',
|
||
userManSys15: 'Author Database',
|
||
userManSys2: 'Author',
|
||
userManSys3: 'Reviewer',
|
||
userManSys31: 'List',
|
||
userManSys32: 'Apply',
|
||
userManSys33: 'Author transferred to reviewer',
|
||
userManSys4: 'Editorial board',
|
||
userManSys41: 'List',
|
||
userManSys42: 'Apply',
|
||
userManSys5: 'Young Scientist',
|
||
userManSys51: 'List',
|
||
userManSys52: 'Apply',
|
||
userManSys6: 'Promotion Record',
|
||
userManSys7: 'Blacklist',
|
||
userManSys8: 'Academic Integrity Committee',
|
||
userManSys9: 'Editors & Staff',
|
||
userManSys11: 'Journal Agreement',
|
||
analyp: 'Manager',
|
||
datasis: 'Journal Data Statistics',
|
||
analysis: 'Journal Evaluation System',
|
||
evaluationsis: 'Journal Evaluation Statistics',
|
||
rev_ewer: 'Reviewer',
|
||
rev_ewer1: 'Peer Review',
|
||
rev_ewer2: 'Review History',
|
||
|
||
man_ing: 'Editor-in-Chief',
|
||
man_ing1: 'Journal information',
|
||
man_ing2: 'Article List',
|
||
edit_oria: 'Editorial board member',
|
||
edit_oria1: 'Final Decision',
|
||
edit_oria2: 'Accepted manuscript',
|
||
edit_ewer: 'Reviewer',
|
||
edit_ewer1: 'Final Decision',
|
||
edit_ewer2: 'Final Decision History',
|
||
you_thed: 'Young scholar',
|
||
you_thed1: 'Pending review',
|
||
guest: 'Guest editor',
|
||
guest1: 'Manuscript list',
|
||
guest2: 'Reviewer list',
|
||
email: 'Mail management',
|
||
email1: 'Mail template',
|
||
suggest: 'Suggestion management',
|
||
suggest1: 'Suggestion list',
|
||
suggest2: 'Suggested title management',
|
||
party: 'User Management',
|
||
party1: 'Editor List',
|
||
party2: 'User List',
|
||
party3: 'User Blacklist',
|
||
mailbox: 'Mailbox system',
|
||
mailbox1: 'Mailbox send',
|
||
mailbox2: 'Mailbox list',
|
||
mailbox3: 'Mailbox template',
|
||
emailTemplates: 'Email Templates',
|
||
emailStyles: 'Email Styles',
|
||
tools: 'Assistant tools',
|
||
mailboxManagement: 'Mailbox Management',
|
||
mailboxConfig: 'Mailbox Management',
|
||
scholarCrawlers: 'Scholar Crawlers',
|
||
crawlerKeywords: 'Crawl Keywords',
|
||
expertDatabase: 'Expert Database',
|
||
keywordManagement: 'Keyword Management',
|
||
crawlTasks: 'Crawl Tasks',
|
||
expertList: 'Expert List',
|
||
countryManagement: 'Country Management',
|
||
autoPromotion: 'Auto Promotion',
|
||
ReArticles: 'Rejected Manuscripts', // 被拒稿件
|
||
editorialBoard: 'Boss System',
|
||
editorialBoard1: 'Board Management',
|
||
editorialBoard2: 'Young Scientist Management',
|
||
editorialBoard3: 'Journal Management',
|
||
chiefInspector: 'Chief Inspector',
|
||
journalArticleCount: 'Journal Article Count',
|
||
managingDirector: 'Managing Director',
|
||
GroupClassification: 'Group List',
|
||
JournalInstallment: 'Journal Installment',
|
||
mailboxCollect: 'Email List',
|
||
promotionManagement: 'Promotion Management',
|
||
},
|
||
expertDatabase: {
|
||
fieldSelectPlaceholder: 'Please select field',
|
||
keywordPlaceholder: 'Name / Email / Affiliation',
|
||
fieldPlaceholder: 'Please enter field',
|
||
searchBtn: 'Search',
|
||
resetBtn: 'Reset',
|
||
downloadExcelBtn: 'Download Excel',
|
||
table: {
|
||
no: 'No.'
|
||
},
|
||
columns: {
|
||
baseInfo: 'Base Information',
|
||
country: 'Country',
|
||
affiliation: 'Affiliation',
|
||
researchAreas: 'Research areas',
|
||
unsubscribeStatus: 'Subscription status'
|
||
},
|
||
emptyMark: '-',
|
||
fields: {
|
||
nameLabel: 'Name:',
|
||
emailLabel: 'Email:',
|
||
acquisitionTimeLabel: 'Acquisition Time:'
|
||
},
|
||
viewAllInfo: 'View all details',
|
||
detailDialogTitle: 'Research areas & Article',
|
||
detailColField: 'Research areas',
|
||
detailColPaper: 'Article title',
|
||
detailColJournal: 'Journal',
|
||
detailClose: 'Close',
|
||
detailCellEmpty: 'N/A',
|
||
noFieldDetail: 'No publication details for these fields',
|
||
exportWarn: 'Please select a research area, enter a keyword, or enter a field before exporting.',
|
||
exportFailed: 'Export failed',
|
||
unsubscribeNormal: 'Subscribed',
|
||
unsubscribeUnsubscribed: 'Unsubscribed',
|
||
unsubscribeSwitchOn: 'Unsub',
|
||
unsubscribeSwitchOff: 'Subscribed',
|
||
unsubscribeMissingId: 'Missing expert ID, unable to switch unsubscribe status',
|
||
unsubscribeUpdateSuccess: 'Unsubscribe status updated',
|
||
unsubscribeUpdateFailed: 'Failed to update unsubscribe status'
|
||
},
|
||
countryManagement: {
|
||
title: 'Country Management',
|
||
keywordPlaceholder: 'Chinese / English / Code',
|
||
partitionLabel: 'Partition',
|
||
partitionAll: 'All partitions',
|
||
partition1: 'Partition 1',
|
||
partition2: 'Partition 2',
|
||
partition3: 'Partition 3',
|
||
searchBtn: 'Search',
|
||
resetBtn: 'Reset',
|
||
table: {
|
||
no: 'No.',
|
||
zhName: 'Chinese name',
|
||
enName: 'English name',
|
||
code: 'Code',
|
||
partition: 'Partition',
|
||
actions: 'Actions'
|
||
},
|
||
edit: 'Edit',
|
||
delete: 'Delete',
|
||
editTitle: 'Edit country',
|
||
form: {
|
||
zhName: 'Chinese name',
|
||
enName: 'English name',
|
||
code: 'Code',
|
||
partition: 'Partition'
|
||
},
|
||
cancel: 'Cancel',
|
||
save: 'Save',
|
||
confirm: 'OK',
|
||
deleteTitle: 'Confirm delete',
|
||
deleteConfirm: 'Delete this country record? This cannot be undone.',
|
||
saveSuccess: 'Saved',
|
||
deleteSuccess: 'Deleted',
|
||
opFailed: 'Operation failed',
|
||
loadFailed: 'Failed to load list',
|
||
missingId: 'Missing country id',
|
||
ruleZhName: 'Enter Chinese name',
|
||
ruleEnName: 'Enter English name',
|
||
ruleCode: 'Enter code',
|
||
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',
|
||
title: 'Mailbox config',
|
||
journal: 'Journal',
|
||
allJournal: 'All journals',
|
||
query: 'Search',
|
||
refresh: 'Refresh',
|
||
addAccount: 'Add email account',
|
||
noData: 'No data',
|
||
no: 'No.',
|
||
loading: 'Loading...',
|
||
smtpFromName: 'Name',
|
||
smtpFromNamePlaceholder: 'Display name when sending',
|
||
smtpHost: 'SMTP host',
|
||
smtpPort: 'SMTP port',
|
||
smtpPortPlaceholder: 'eg: 465',
|
||
smtpEncryption: 'SMTP encryption',
|
||
smtpEncryptionPlaceholder: 'eg: ssl',
|
||
imapHost: 'IMAP host',
|
||
imapPort: 'IMAP port',
|
||
imapPortPlaceholder: 'eg: 993',
|
||
todaySent: 'Today sent',
|
||
remainingToday: 'Remaining today',
|
||
state: 'State',
|
||
primary: 'Primary',
|
||
primaryTag: 'Primary',
|
||
operation: 'Operation',
|
||
edit: 'Edit',
|
||
delete: 'Delete',
|
||
mailManage: 'Email List',
|
||
dialogAdd: 'Add email account',
|
||
dialogEdit: 'Edit email account',
|
||
selectJournal: 'Select journal',
|
||
account: 'Email account',
|
||
accountPlaceholder: 'Sender / login email',
|
||
password: 'Password',
|
||
passwordPlaceholder: 'Password',
|
||
passwordTip: 'Leave blank to keep unchanged when editing',
|
||
smtpPlaceholder: 'eg: mail.tmrjournals.co.nz',
|
||
imapPlaceholder: 'eg: mail.tmrjournals.co.nz',
|
||
isPrimary: 'Set as primary',
|
||
yes: 'Yes',
|
||
no: 'No',
|
||
primaryTip: 'Each journal has exactly one primary mailbox for sending and receiving.',
|
||
cancel: 'Cancel',
|
||
save: 'Save',
|
||
deleteConfirm: 'Delete this email config?',
|
||
deleteTitle: 'Delete email account',
|
||
confirm: 'Confirm',
|
||
addSuccess: 'Added successfully',
|
||
editSuccess: 'Updated successfully',
|
||
deleteSuccess: 'Deleted successfully',
|
||
addFail: 'Add failed',
|
||
editFail: 'Update failed',
|
||
deleteFail: 'Delete failed',
|
||
addSuccessMock: 'Added (mock)',
|
||
editSuccessMock: 'Updated (mock)',
|
||
deleteSuccessMock: 'Deleted (mock)',
|
||
rulesJournal: 'Please select journal',
|
||
rulesAccount: 'Please enter email account',
|
||
rulesAccountFormat: 'Please enter a valid email',
|
||
rulesPassword: 'Please enter password',
|
||
rulesSmtpFromName: 'Please enter sender name',
|
||
rulesSmtpHost: 'Please enter SMTP host',
|
||
rulesSmtpPort: 'Please enter SMTP port',
|
||
rulesSmtpEncryption: 'Please enter SMTP encryption',
|
||
rulesImapHost: 'Please enter IMAP host',
|
||
rulesImapPort: 'Please enter IMAP port',
|
||
rulesIsPrimary: 'Please set primary or not',
|
||
},
|
||
mailboxMould: {
|
||
title: 'Email Templates',
|
||
subtitle: 'Manage and customize your journal email templates.',
|
||
no: 'No.',
|
||
searchPlaceholder: 'Search by title or scene...',
|
||
journalPlaceholder: 'Journal',
|
||
scenePlaceholder: 'Scene',
|
||
all: 'All',
|
||
inviteSubmission: 'Invite Submission',
|
||
promoteCitation: 'Promote Citation',
|
||
generalThanks: 'General Thanks',
|
||
languagePlaceholder: 'Language',
|
||
searchBtn: 'Search',
|
||
createTemplate: 'Create Template',
|
||
colTitle: 'Template title',
|
||
colSubject: 'Email subject',
|
||
colScene: 'Scene',
|
||
colLanguage: 'Language',
|
||
colVersion: 'Version',
|
||
colStatus: 'Status',
|
||
colActions: 'Actions',
|
||
active: 'Active',
|
||
inactive: 'Inactive',
|
||
confirm: 'Confirm',
|
||
cancel: 'Cancel',
|
||
deleteConfirm: 'Delete this template?',
|
||
deleteSuccess: 'Deleted successfully',
|
||
deleteFail: 'Delete failed',
|
||
previewTitle: 'Template preview',
|
||
previewClose: 'Close',
|
||
batchImportBtn: 'Batch import',
|
||
batchImportTitle: 'Batch import templates (JSON)',
|
||
batchImportHint:
|
||
'Paste a JSON array. Each item is saved via the same API as the editor (omit template_id to create; include template_id to update). Fields: title, subject, scene, language (or lang), version, body_html (or body), variables_json (or variables), is_active.',
|
||
batchImportCommonTip: 'Journal ID is set in the field below; when non-empty it overrides journal_id / journalId on every row.',
|
||
batchImportJournalId: 'Journal ID',
|
||
batchImportJournalPlaceholder: 'Match list filter or type manually',
|
||
batchImportRun: 'Run import',
|
||
batchImportBadJson: 'Invalid JSON',
|
||
batchImportEmpty: 'Array must contain at least one object',
|
||
batchImportMissingJournal: 'Row {index}: missing journal_id (use the input above or put journal_id in JSON)',
|
||
batchImportMissingField: 'Row {index}: missing {field}',
|
||
batchImportRowFail: 'Row {index} failed: {msg}',
|
||
batchImportRowNetwork: 'Row {index}: request error',
|
||
batchImportDone: 'Done: {ok} succeeded, {fail} failed',
|
||
batchImportErrorsTitle: 'Errors (first 8)',
|
||
batchImportSaveFail: 'Save failed',
|
||
},
|
||
mailboxStyle: {
|
||
title: 'Email Styles',
|
||
subtitle: 'Manage email header and footer styles.',
|
||
no: 'No.',
|
||
searchPlaceholder: 'Search by name or description...',
|
||
journalPlaceholder: 'Journal',
|
||
scenePlaceholder: 'Scene',
|
||
languagePlaceholder: 'Language',
|
||
searchBtn: 'Refresh',
|
||
createStyle: 'Create Style',
|
||
colName: 'Style name',
|
||
colDescription: 'Style description',
|
||
},
|
||
mailboxStyleDetail: {
|
||
back: 'Back',
|
||
createStyle: 'Create style',
|
||
editStyle: 'Edit style',
|
||
cancel: 'Cancel',
|
||
save: 'Save',
|
||
loading: 'Loading',
|
||
name: 'Style name',
|
||
namePlaceholder: 'Enter style name',
|
||
description: 'Style description',
|
||
descriptionPlaceholder: 'Enter style description',
|
||
headerHtml: 'Header HTML',
|
||
footerHtml: 'Footer HTML',
|
||
rulesName: 'Please enter style name',
|
||
rulesDescription: 'Please enter style description',
|
||
rulesHeaderHtml: 'Please enter header HTML',
|
||
rulesFooterHtml: 'Please enter footer HTML',
|
||
saveSuccess: 'Saved successfully',
|
||
saveFail: 'Save failed',
|
||
},
|
||
mailboxMouldDetail: {
|
||
back: 'Back',
|
||
createTemplate: 'Create template',
|
||
editTemplate: 'Edit template',
|
||
cancel: 'Cancel',
|
||
save: 'Save',
|
||
loading: 'Loading',
|
||
rulesJournal: 'Please select journal',
|
||
rulesScene: 'Please select template type',
|
||
rulesLanguage: 'Please select language',
|
||
rulesTitle: 'Please enter template title',
|
||
rulesSubject: 'Please enter email subject',
|
||
rulesBody: 'Please enter email body',
|
||
rulesVersion: 'Please enter version',
|
||
basicInfo: 'Basic info',
|
||
templateTitle: 'Template title',
|
||
templateTitlePlaceholder: 'Enter title',
|
||
emailSubject: 'Email subject',
|
||
emailSubjectPlaceholder: 'Email subject',
|
||
emailBody: 'Email body',
|
||
journal: 'Journal',
|
||
templateType: 'Template type',
|
||
sceneInviteSubmission: 'Invite submission',
|
||
scenePromoteCitation: 'Promote citation',
|
||
sceneGeneralThanks: 'General thanks',
|
||
languageConfig: 'Language',
|
||
version: 'Version',
|
||
versionControl: 'Version',
|
||
versionPlaceholder: '1.0.0',
|
||
bodyEdit: 'Body editor',
|
||
activeStatus: 'Active',
|
||
variablesJson: 'Variables (JSON)',
|
||
variablesPlaceholder: '{"name": "string"}',
|
||
previewTab: 'Preview',
|
||
subjectLabel: 'Subject:',
|
||
receiverLabel: 'Receiver:',
|
||
previewRendering: 'Live preview',
|
||
saveSuccess: 'Saved successfully',
|
||
saveFail: 'Save failed',
|
||
saveSuccessMock: 'Template saved (mock)',
|
||
},
|
||
mailboxCollect: {
|
||
inboxTab: 'Mail received',
|
||
outboxTab: 'Mail sent',
|
||
draftsTab: 'Drafts',
|
||
deletedTab: 'Deleted',
|
||
spamTab: 'Spam',
|
||
searchPlaceholder: 'Please enter name or email',
|
||
searchBtn: 'Search',
|
||
syncBtn: 'Sync remote mail',
|
||
writeBtn: 'Write letter',
|
||
receiveBtn: 'Sync inbox',
|
||
email: 'Email',
|
||
account: 'Account',
|
||
time: 'Time',
|
||
look: 'Look',
|
||
emptyText: 'New messages (0)',
|
||
loading: 'Loading...',
|
||
detailTitle: 'Mail detail',
|
||
from: 'From',
|
||
to: 'To',
|
||
subject: 'Subject',
|
||
close: 'Close',
|
||
noSubject: '(No subject)',
|
||
reply: 'Reply',
|
||
forward: 'Forward',
|
||
delete: 'Delete',
|
||
featureDev: 'This feature is under development',
|
||
selectMailTip: 'Select an email to read',
|
||
selectAccountTitle: 'Select email account',
|
||
journal: 'Journal',
|
||
accountColumn: 'Email account',
|
||
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.',
|
||
attachmentCount: ' attachment(s)',
|
||
downloadFail: 'Download failed',
|
||
accountNotBelong: 'This account does not belong to you. Please select another one.',
|
||
totalAttachments: '{count} attachment(s) in total',
|
||
etcSuffix: '... etc.',
|
||
viewAttachments: 'View attachments',
|
||
newMailArrived: '{count} new mail(s) received, click to view',
|
||
downloadAllZip: 'Download all',
|
||
packingAttachments: 'Packing attachments, please wait...',
|
||
downloadBtn: 'Download',
|
||
printBtn: 'Print',
|
||
previewNotSupported: 'This file format cannot be previewed online',
|
||
downloadToView: 'Download to view locally',
|
||
registerAuthorBtn: 'Auto submit',
|
||
registerAuthorConfirm:
|
||
'Create an account via the same admin API as User Management: login name "{account}", display name "{realname}", email "{email}", initial password 123456qwe (no captcha). Continue?',
|
||
registerAuthorSuccess: 'Author account created.',
|
||
registerAuthorSuccessWithEmail: 'Created: {email}, password: 123456qwe',
|
||
registerAuthorFail: 'Creation failed. Try again later or add the user manually in User Management.',
|
||
registerAuthorExistsEmail: 'This email is already registered.',
|
||
registerAuthorExistsAccount: 'This login name is already taken. Edit the sender display name or add the user manually.',
|
||
registerAuthorNeedEmail: 'Sender email is missing; cannot create an account.',
|
||
registerAuthorNoQq: 'QQ Mail is not supported for author accounts. Please add the user manually.',
|
||
registerAuthorConfirmShort: 'Email: {email}\nPassword: {password}',
|
||
registerAuthorPickEmailFail: 'Could not allocate an available email after several attempts. Try again later or add the user manually.',
|
||
autoSubmitBtn: 'Submit first .docx as manuscript',
|
||
autoSubmitTitle: 'Log in as author and upload the first .docx attachment',
|
||
autoSubmitSessionTip:
|
||
'Author checkLogin does not change your U_* local account. The server cookie is the author during upload. After finishing, enter your editor password below and log in again to restore the editor server session.',
|
||
autoSubmitUsername: 'Username',
|
||
autoSubmitPassword: 'Password',
|
||
autoSubmitSenderEmailLabel: 'Sender email',
|
||
autoSubmitSenderEmailPlaceholder: '(No sender email)',
|
||
autoSubmitCode: 'Captcha',
|
||
autoSubmitCodePh: 'Fill only if the server requires captcha; often leave empty',
|
||
autoSubmitCancel: 'Cancel',
|
||
autoSubmitDialogTitle: 'Auto submit',
|
||
autoSubmitConfirm: 'Auto submit',
|
||
autoSubmitExistingAccountTip:
|
||
'This sender email may already have an account. Enter your password. Re-selecting a local file replaces the previous one.',
|
||
autoSubmitNotifyMailSubject: '[{journal}] Please complete your submission',
|
||
autoSubmitNotifyMailFail: 'Could not send the notification email. You can resend from the compose page.',
|
||
autoSubmitNotifyMailSkipped: 'No sender mailbox (j_email_id) found; skipped automatic email.',
|
||
autoSubmitNoDocx: 'No .docx attachment in this message (only .docx is supported, same as new submission).',
|
||
autoSubmitDownloadFail: 'Could not download the attachment. Try again later.',
|
||
autoSubmitSuccessTitle: 'Manuscript created',
|
||
autoSubmitDialogClose: 'Close',
|
||
autoSubmitSuccessLineAccount: 'Account: {account}',
|
||
autoSubmitSuccessLinePassword: 'Password: {password}',
|
||
autoSubmitSuccessLineDraft: 'Manuscript ID: {id}. Draft created in staging.',
|
||
autoSubmitSuccessLineLinkPrefix: 'Submission link: ',
|
||
autoSubmitSuccessMailSent: 'Notification email sent',
|
||
autoSubmitSuccessMailSkipped: 'No notification email (journal sender mailbox not configured).',
|
||
autoSubmitSuccessMailSkippedRecipient: 'No notification email (no valid From address on this message).',
|
||
autoSubmitSuccessMailFailed: 'Notification email was not sent; try again from the compose page.',
|
||
autoSubmitSuccessBodyLocalOnly:
|
||
'Article ID: {id}. The UI still shows your editor account; the server session may still be the author after author login. Refresh or log in again as editor.',
|
||
autoSubmitSuccessBodyServerRestored:
|
||
'Article ID: {id}. Logged in again as editor; both local storage and server session should match your editor account.',
|
||
autoSubmitSuccessNotify:
|
||
'Article ID: {id}<br/><a href="{link}" target="_blank" rel="noopener noreferrer">Open articleAdd</a>',
|
||
autoSubmitEditorRestorePwd: 'Editor password (restore session)',
|
||
autoSubmitEditorRestorePwdPh:
|
||
'Optional: password for the current editor account shown in the header, used after success to restore the server session',
|
||
autoSubmitEditorReloginFail:
|
||
'Could not restore the editor server session; local values were restored where possible. Refresh the page or log in again as editor.',
|
||
autoSubmitFail: 'Submission failed. Check credentials or network and try again.',
|
||
autoSubmitUsernameRequired: 'Username is required',
|
||
autoSubmitPasswordRequired: 'Password is required',
|
||
autoSubmitJournalLabel: 'Journal',
|
||
autoSubmitJournalUnknown: 'No journal (switch to a mailbox account that is bound to a journal)',
|
||
autoSubmitNeedJournal:
|
||
'This mailbox has no journal ID; staging backfill cannot match the submission page. Switch mailbox account first.',
|
||
autoSubmitFailPartial: '(If contribute succeeded, article ID may be {id}; please verify in admin.)',
|
||
autoSubmitManuscriptSource: 'Manuscript file',
|
||
autoSubmitPickLocalDocx: 'Upload .docx from disk',
|
||
autoSubmitSourceHint: 'Optional: upload a file; otherwise the first .docx in the email is used. Choosing again replaces the current local file.',
|
||
autoSubmitLocalPicked: 'Local file: {name}',
|
||
autoSubmitNeedDocxSource: 'Upload a .docx file, or ensure the email has a .docx attachment.',
|
||
},
|
||
crawlerKeywords: {
|
||
pageTitle: 'Keyword Configuration',
|
||
pageDesc: 'Manage core search terms for discovering experts.',
|
||
exportData: 'Export Data',
|
||
startCrawl: 'Start Crawl',
|
||
inputPlaceholder: 'Enter new keyword, e.g. deep learning, semiconductor expert...',
|
||
addKeyword: 'Add Keyword',
|
||
searchPlaceholder: 'Search keywords...',
|
||
searchBtn: 'Search',
|
||
totalCount: '{count} keyword(s) in total',
|
||
colKeyword: 'Keyword',
|
||
colCategory: 'Category',
|
||
colStatus: 'Status',
|
||
colExpertCount: 'Expert Count',
|
||
colLastCrawl: 'Last Crawl',
|
||
colAction: 'Action',
|
||
save: 'Save',
|
||
cancel: 'Cancel',
|
||
stateRunning: 'Running',
|
||
statePaused: 'Paused',
|
||
stateError: 'Error',
|
||
stateDone: 'Done',
|
||
emptyKeywordWarn: 'Please enter a keyword',
|
||
addSuccess: 'Added successfully',
|
||
addFail: 'Failed to add',
|
||
updateSuccess: 'Updated successfully',
|
||
updateFail: 'Failed to update',
|
||
deleteConfirm: 'Are you sure to delete this keyword? This action cannot be undone.',
|
||
confirmTitle: 'Confirm',
|
||
deleteSuccess: 'Deleted successfully',
|
||
deleteFail: 'Failed to delete',
|
||
refreshSuccess: 'Refreshed successfully',
|
||
refreshFail: 'Failed to refresh',
|
||
crawlStarted: 'Crawl task started',
|
||
crawlFail: 'Failed to start crawl',
|
||
exportFail: 'Failed to export',
|
||
},
|
||
crawlTask: {
|
||
pageTitle: 'Crawl Monitor',
|
||
pageDesc: 'Review crawl jobs and indexing progress for expert discovery.',
|
||
exportData: 'Export Data',
|
||
startCrawl: 'Start Crawl',
|
||
searchPlaceholder: 'Search by keyword or phrase…',
|
||
searchBtn: 'Search',
|
||
allKeywords: 'All keywords',
|
||
enabled: 'Active',
|
||
disabled: 'Paused',
|
||
allStatus: 'All Status',
|
||
statusCrawling: 'Crawling',
|
||
statusDone: 'Done',
|
||
statusPaused: 'Paused',
|
||
statusError: 'Error',
|
||
source: 'Source',
|
||
startTime: 'Start Time',
|
||
endTime: 'End Time',
|
||
progress: 'Progress',
|
||
totalPages: 'Total Pages',
|
||
crawledPages: 'Crawled Pages',
|
||
expertCountLabel: 'Experts Stored',
|
||
expertCount: 'Expert Count',
|
||
created: 'Created',
|
||
completed: 'Completed',
|
||
updated: 'Updated',
|
||
viewDetail: 'View Detail',
|
||
viewLogs: 'View Logs',
|
||
pause: 'Pause',
|
||
resume: 'Resume',
|
||
restart: 'Restart',
|
||
delete: 'Delete',
|
||
deleteConfirm: 'Are you sure to delete this task? This cannot be undone.',
|
||
confirmTitle: 'Confirm',
|
||
confirmOk: 'OK',
|
||
confirmCancel: 'Cancel',
|
||
operationSuccess: 'Operation succeeded',
|
||
operationFail: 'Operation failed',
|
||
operationRetry: 'Operation failed, please try again later',
|
||
crawlStarted: 'Crawl task started',
|
||
crawlFail: 'Failed to start crawl',
|
||
exportFail: 'Failed to export',
|
||
detailTitle: 'Task Detail',
|
||
basicInfo: 'Basic Information',
|
||
taskName: 'Task Name',
|
||
status: 'Status',
|
||
resultSummary: 'Result Summary',
|
||
totalFound: 'Total Found',
|
||
newAdded: 'New Added',
|
||
duplicates: 'Duplicates',
|
||
failed: 'Failed',
|
||
logsTitle: 'Run Logs',
|
||
noLogs: 'No logs yet',
|
||
noData: 'No tasks',
|
||
emptyResult: 'No tasks match your filters. Try adjusting keywords or status.',
|
||
addKeyword: 'Add keyword',
|
||
keyword: 'Keyword',
|
||
keywordPlaceholder: 'Enter a search term (e.g. infectious diseases)',
|
||
runOnce: 'Run once',
|
||
runOnceBtn: 'Run once',
|
||
runOnceLoading: 'Crawling...',
|
||
yes: 'Yes',
|
||
no: 'No',
|
||
cancel: 'Cancel',
|
||
confirm: 'Save',
|
||
enterKeyword: 'Please enter a keyword.',
|
||
addKeywordSuccess: 'Keyword added.',
|
||
addKeywordFailed: 'Could not add keyword.',
|
||
runOnceSuccess: 'One-off crawl requested.',
|
||
runOnceFailed: 'Could not start a one-off crawl.',
|
||
disabledMsg: 'Disabled',
|
||
enabledMsg: 'Enabled',
|
||
pauseFailed: 'Failed to pause',
|
||
resumeFailed: 'Failed to resume',
|
||
missingKeyword: 'Enter a keyword before running a one-off crawl.',
|
||
restartSuccess: 'Sync restarted (local mock)',
|
||
metricExperts: 'Experts indexed',
|
||
metricPages: 'Pages crawled',
|
||
stateRunning: 'Running',
|
||
stateStopped: 'Stopped',
|
||
taskRunningMsg: 'Crawl is now enabled.',
|
||
taskStoppedMsg: 'Crawl has been paused.',
|
||
runOnceQueued: 'A one-off crawl has been queued.',
|
||
},
|
||
mailboxSend: {
|
||
title: 'Write mail',
|
||
to: 'To:',
|
||
selectFromLibrary: 'Select from address book',
|
||
subject: 'Subject:',
|
||
cc: 'Cc:',
|
||
attachments: 'Attachments:',
|
||
upload: 'Upload',
|
||
templateSelection: 'Template selection',
|
||
sender: 'Sender:',
|
||
send: 'Send',
|
||
sending: 'Sending...',
|
||
selectUser: 'Select User',
|
||
batchSelection: 'Batch selection',
|
||
email: 'Email',
|
||
account: 'Account',
|
||
operation: 'Operation',
|
||
selectBtn: 'Select',
|
||
emptyText: 'No data',
|
||
selectTemplate: 'Select template',
|
||
chooseTemplate: 'Choose Template:',
|
||
chooseTemplatePlaceholder: 'Please select template',
|
||
none: 'None',
|
||
previewTemplate: 'Preview Formatted Document:',
|
||
cancel: 'Cancel',
|
||
save: 'Save',
|
||
saveDraft: 'Save draft',
|
||
sourceMode: 'Source code',
|
||
richTextMode: 'Rich text',
|
||
exitSourceMode: 'Exit source mode',
|
||
sourcePlaceholder: 'Paste or edit full HTML here (DOCTYPE, html, head, body supported)',
|
||
editorPlaceholder: 'Please enter...',
|
||
validateTo: 'Please add at least one addressee',
|
||
validateSubject: 'Please enter mail subject',
|
||
sendSuccess: 'Send success',
|
||
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',
|
||
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',
|
||
usermsg: 'New messages',
|
||
},
|
||
artstate: {
|
||
state0: 'Received',
|
||
state1: 'With editor',
|
||
state2: 'Under review',
|
||
state3: 'Reject',
|
||
stateDraft: 'Awaiting Submission',
|
||
state4: 'Revision',
|
||
state5: 'Accept',
|
||
state6: 'Pre-accept',
|
||
state8: 'Final Decision',
|
||
act1: 'Dealing',
|
||
act2: 'Finished',
|
||
},
|
||
evaluationsis: {
|
||
EmploymentRate: 'Employment Rate',
|
||
contry: 'Contry',
|
||
zr: 'To Change Into',
|
||
zc: 'Transfer Out',
|
||
articles: 'Total Number Of Articles',
|
||
boardMembers: 'Number Of Editorial Board Members',
|
||
InternationalDistributionNumber: 'International Distribution Of Editorial Board Members',
|
||
InternationalDistributionTotal: 'total',
|
||
InternationalDistributionArticles: 'International Distribution Of Articles',
|
||
},
|
||
charact: {
|
||
role: 'Role',
|
||
role1: 'Role editor',
|
||
role2: 'Editorial board',
|
||
role3: 'Reviewer',
|
||
role4: 'Youth editorial board',
|
||
},
|
||
journalArticleCount: {
|
||
yearTitle: 'Total annual submission volume',
|
||
monthTitle: 'Monthly submission volume',
|
||
dataTitle: 'Submission volume',
|
||
transferQuantity: 'Transfer quantity',
|
||
info: 'The following data is',
|
||
loading: 'LOADING',
|
||
},
|
||
journalArticleTable: {
|
||
title: 'journal',
|
||
time: 'time',
|
||
|
||
}, protocol: {
|
||
PublishingAgreementInfo: 'Please enter the publishing agreement'
|
||
}, journalStatus: {
|
||
changeStatusInfo: '此稿件的评分没有达到初始评分标准,是否继续?',
|
||
changeStatusInfo: 'The rating of this manuscript did not meet the initial rating criteria. Do you want to continue?',
|
||
Continue: '继续',
|
||
Continue: 'Continue',
|
||
Cancel: '取消',
|
||
Cancel: 'Cancel',
|
||
Prompt: '提示',
|
||
Prompt: 'Prompt',
|
||
}, citeList: {
|
||
refresh: 'Check',
|
||
search: 'Search',
|
||
yes: 'Yes',
|
||
save: 'Save',
|
||
cancel: 'Cancel',
|
||
no: 'No',
|
||
add: 'Add',
|
||
edit: 'Edit',
|
||
delete: 'Delete',
|
||
deleteInfo: 'Are you sure you want to delete?',
|
||
tip: 'Tip',
|
||
factor: 'Factor',
|
||
date: 'Date',
|
||
is_wos: 'Is Wos',
|
||
is_china: 'Is China',
|
||
is_china0: '-',
|
||
is_china0Info: '-',
|
||
is_china1: 'Yes',
|
||
is_china2: 'No',
|
||
articleInfo: 'Article Information',
|
||
articleTitle: 'Article Tiltle',
|
||
journalTitle: 'Journal Tiltle',
|
||
addInfo: 'Paste the DOI into the input box, confirm that the information is correct, and then click the "Save" button.',
|
||
dialogQueryButton: 'Search',
|
||
dialogQueryButtonInfo: 'You can click the "Search" on the right to automatically identify and quickly fill in all the current fields',
|
||
dialogQueryButtonErrInfo: 'You can click the "Search" on the right to automatically identify and quickly fill in all the current fields',
|
||
rulesDoiInfo: 'Please enter Doi',
|
||
rulesJournalInfo: 'Please enter the journal title',
|
||
rulesAuthorInfo: 'Please enter the author',
|
||
rulesVolInfo: 'Please enter the publication time',
|
||
rulesArticleInfo: 'Please enter the article title',
|
||
authorInfo: 'Six or less authors are required to list all authors while more than six authors are required to list three of them with “et al.”.',
|
||
author: 'Author(s)',
|
||
publicationTime: 'Year',
|
||
publicationTimeInfo: 'Year;Volume(issue):Inclusive page numbers',
|
||
},
|
||
commonTable: {
|
||
add: 'Add',
|
||
delete: 'Delete',
|
||
reply: 'Reply',
|
||
execute: 'Execute',
|
||
revoke: 'Revoke',
|
||
solve: 'Solve',
|
||
cancelsolve: 'Cancel resolved',
|
||
Resolved: 'Resolved',
|
||
preview: 'Preview',
|
||
link: 'Positioning',
|
||
Typed: 'Typed',
|
||
edit: 'Edit',
|
||
rows: 'rows',
|
||
columns: 'columns',
|
||
table: 'Table',
|
||
headerPlaceholder: 'Fill in the header',
|
||
typesettingType2: 'Horizontal A4',
|
||
typesettingType1: 'Vertical A4',
|
||
AnnotationList: 'Annotation List',
|
||
Annotations: 'Comments',
|
||
exportWord: 'Export Word',
|
||
exportImg: 'Export PNG',
|
||
PaperRotation: 'Paper Rotation',
|
||
removeAnnotations: 'Are you sure you want to delete this Annotation?',
|
||
removeProofread: 'Are you sure to delete this suggestion?',
|
||
removeContent: 'Are you sure you want to delete this content?',
|
||
removeimg: 'Are you sure you want to delete this figure?',
|
||
removetable: 'Are you sure you want to delete this table?',
|
||
reContent: 'Are you sure you want to restore this content?',
|
||
uploadImageInfo: 'Figures can only upload files in JPG, JPEG, and PNG formats!',
|
||
selectComment: 'Please select the text to add annotations to!',
|
||
selectLinkText: 'Please select the target text content before associating it with a figure or table.',
|
||
selectWord: 'Please select only a single word!',
|
||
selectOne: 'Please select only a single paragraph!',
|
||
alreadyCommented: 'There are already annotations in the text, please select again!',
|
||
Multicolumn: 'Multicolumn',
|
||
singleRow: "single-row",
|
||
Row: "Row",
|
||
addRow: "Add Row",
|
||
Uncheck: 'Uncheck the paragraph',
|
||
ManuscirptAIProofreading: 'Manuscript AI Proofreading',
|
||
AIProofreading: 'AI Proofreading',
|
||
Association: 'Association',
|
||
BatchAddcontent: 'Batch Add content',
|
||
MoveUp: 'Move Up',
|
||
|
||
MoveDown: 'Move Down',
|
||
jump: 'Locate',
|
||
editAssociation: 'Edit Association',
|
||
UnbindAssociation: 'Unbind Association',
|
||
selectContent: 'Please select the content to operate first',
|
||
},
|
||
pendingPayment: {
|
||
title: 'Title',
|
||
journal: 'Journal',
|
||
Paymentamount: 'Payment amount',
|
||
|
||
subtotal: 'Subtotal',
|
||
payment: 'Online Payment',
|
||
payDetail: 'Payment Details',
|
||
total: 'Original price',
|
||
youhui: 'Final price',
|
||
discountprice: 'Final price after discount',
|
||
youhuiremark: 'Discount description',
|
||
submitOrder: 'Make a payment',
|
||
state0: 'Pending payment',
|
||
state1: 'Payment successfully',
|
||
state2: 'Cancelled',
|
||
paymentmethod: 'Payment method',
|
||
Disbursements: 'Payment amount',
|
||
Confirmorderinformation: 'Confirm order information',
|
||
orderDetail: 'Order information',
|
||
pendingpayment: 'Pending payment',
|
||
Paymentsuccessfully: 'Payment successfully',
|
||
Paymentstatus: 'Payment status',
|
||
time: 'Payment time',
|
||
},
|
||
PreAccept: {
|
||
successInfo: 'Congratulations! Your manuscript has entered into <b>Pre-accept</b> status. Now please check and complete the necessary information of your manuscript for final publication.',
|
||
step1: 'Article Processing Charge',
|
||
step2: 'Article Proofreading',
|
||
step3: 'References',
|
||
step: 'step',
|
||
Information: 'Fill in information',
|
||
startPreAccept: 'Start the pre-acceptance process',
|
||
startPreAcceptWithPayment: 'Start the pre-acceptance process and complete your payment',
|
||
},
|
||
Formula: {
|
||
FormulaTemplate: 'Formula Template'
|
||
},
|
||
AI: {
|
||
AISummaryAnalysis: 'AI analysis',
|
||
AIKeywords: 'Keywords',
|
||
AIAbstract: 'Abstract',
|
||
AIAbstractInfo: 'Analysis Result',
|
||
},
|
||
AIhtmlWeChatPreview: {
|
||
"title_english": "Title (English)",
|
||
"title_chinese": "Title (Chinese)",
|
||
"author": "Author",
|
||
"content": "Article Content",
|
||
"covered": "Research Fields",
|
||
"digest": "Summary",
|
||
"research_background": "Research Background",
|
||
"research_methods": "Research Method",
|
||
"research_result": "Results",
|
||
"summarize": "Summarize",
|
||
"overview": "Overview",
|
||
"highlights": "Highlights",
|
||
"discussion": "Discussion",
|
||
"prospect": "Future Prospects",
|
||
"cite": "Cite",
|
||
"journal_content": "Journal Introduction",
|
||
"journal_topic": "Journal Topic",
|
||
"authors": "Author Information",
|
||
"author": "Author",
|
||
"author_name": "Author Name",
|
||
"author_name_placeholder": "Please enter the author's name",
|
||
"company": "Affiliation",
|
||
"company_placeholder": "Please enter the author's affiliation",
|
||
"email": "Email",
|
||
"email_placeholder": "Please enter the author's email",
|
||
"icon": "Picture",
|
||
"introduction": "Introduction",
|
||
"technical": "Technical",
|
||
"icon_placeholder": "Please enter the author's avatar URL",
|
||
"remove_author": "Remove Author",
|
||
"add_author": "Add Author"
|
||
},
|
||
|
||
AIArticleStatus: {
|
||
1: 'WeChat AI content generated',
|
||
2: 'WeChat AI content not generated',
|
||
3: 'The article has been generated, but the draft box has not been pushed yet',
|
||
4: 'Draft created but not published',
|
||
10: 'WeChat article published successfully',
|
||
11: 'WeChat article publishing in progress...',
|
||
fail: 'WeChat article publishing failed',
|
||
unknown: 'Unknown status'
|
||
},
|
||
aiReview: {
|
||
Explain: 'Explain',
|
||
state0: 'Journal Scope Assessment',
|
||
state1: 'Journal Scope Explanation',
|
||
state2: 'Scientific and Innovative Assessment',
|
||
state3: 'Scientific and Innovative Explanation',
|
||
state4: 'Contradiction Assessment',
|
||
state5: 'Contradiction Explanation',
|
||
state6: 'Unreasonable Assessment',
|
||
state7: 'Unreasonable Explanation',
|
||
state8: 'Ethics Assessment',
|
||
state9: 'Ethics Explanation',
|
||
state10: 'Academic Misconduct Assessment',
|
||
state11: 'Academic Misconduct Explanation',
|
||
state12: 'Conclusion Assessment',
|
||
state13: 'Conclusion Explanation',
|
||
state14: 'Fund Number',
|
||
state15: 'Article Hotspot',
|
||
state16: 'Review Direction',
|
||
state17: 'AI Publishing Suggestion',
|
||
state18: 'Review Time',
|
||
state19: 'Reference Evaluation',
|
||
state20: 'Clinical registration number and informed consent assessment',
|
||
state22: 'Other Journal Scope Assessment',
|
||
state191: 'Proportion of references from the past three years',
|
||
|
||
state192: 'Proportion of references from the past five years',
|
||
|
||
state193: 'Proportion of references from JCR Q1',
|
||
|
||
state194: 'Proportion of references from JCR Q2',
|
||
state21: 'Probability of article being cited',
|
||
},
|
||
|
||
imageTask: {
|
||
"title": "Image Task Center",
|
||
"completed": "All Tasks Completed",
|
||
"preparing": "Preparing {total} images...",
|
||
"progress": "Progress: {current} / {total}",
|
||
"allDone": "Successfully processed {total} images",
|
||
"manualClose": "Tasks completed. Please close manually.",
|
||
"parsing": "Parsing...",
|
||
"uploading": "Uploading...",
|
||
"success": "Success",
|
||
"tooLarge": "Too Large (>1MB)",
|
||
"error": "Error: {msg}",
|
||
"imgLabel": "Img"
|
||
},
|
||
mailTemplate: {
|
||
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',
|
||
stopped: 'Stopped',
|
||
configure: 'Configure',
|
||
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',
|
||
selectPromotionFields: 'Select Promotion Fields',
|
||
choosePromotionFields: 'Choose Fields',
|
||
selectPromotionCountry: 'Select Country',
|
||
choosePromotionCountry: 'Choose Countries',
|
||
selectedCount: 'Selected {count}',
|
||
selectAll: 'Select All',
|
||
clearAll: 'Clear All',
|
||
selectPromotionFieldsTip: 'Multiple selection supported; leave empty for no field restriction.',
|
||
selectPromotionCountryTip: 'Multiple selection supported; leave empty for no country restriction. Uses the same API as fields until a dedicated country list is available.',
|
||
fieldSearchPlaceholder: 'Search promotion fields',
|
||
countrySearchPlaceholder: 'Search countries',
|
||
countryQuickZone1: 'Partition 1',
|
||
countryQuickZone2: 'Partition 2',
|
||
countryQuickZone3: 'Partition 3',
|
||
countryQuickChina: 'China',
|
||
countryQuickIndia: 'India',
|
||
noFieldMatch: 'No matching fields',
|
||
noCountryMatch: 'No matching countries',
|
||
confirm: 'Confirm',
|
||
fieldsSaved: 'Promotion fields saved',
|
||
countriesSaved: 'Promotion countries saved',
|
||
confirmAndEnable: 'Confirm and Enable',
|
||
onlySaveConfig: 'Save configuration only',
|
||
enableNowNextDay: 'Enable auto promotion now (starts next day)',
|
||
factoryCreateBtn: 'Create automated promotion task',
|
||
factoryBatchImportBtn: 'Batch import (JSON)',
|
||
factoryBatchImportTitle: 'Batch create tasks (JSON)',
|
||
factoryBatchImportHintShort: 'Submit a JSON array; non-empty fields merge into each row. You can still edit JSON.',
|
||
factoryBatchImportHint:
|
||
'Paste a JSON array… Pick journal (getAllJournal) or type ID; template/style/fetch_ids below override JSON when non-empty. Load promotion fields to tick IDs or type comma-separated fetch_ids; load accounts for j_email_id. expert_type "5" needs partitions/countries. Shorthand: zones, countries, email_id_list.',
|
||
factoryBatchImportCommonTip: 'Journal from cover or ID field; non-empty template ID, style ID, or fetch_ids override JSON on every row.',
|
||
factoryBatchImportJournalId: 'Journal ID',
|
||
factoryBatchImportJournalPick: 'Journal',
|
||
factoryBatchImportJournalEmpty: 'No journals returned. Check api/Journal/getAllJournal.',
|
||
factoryBatchImportJournalManualPlaceholder: 'Filled when you pick a cover, or type manually',
|
||
factoryBatchImportTemplateId: 'Template ID',
|
||
factoryBatchImportStyleId: 'Style ID',
|
||
factoryBatchImportJournalPlaceholder: 'Merged into payload',
|
||
factoryBatchImportTemplatePlaceholder: 'Merged into payload',
|
||
factoryBatchImportStylePlaceholder: 'Merged into payload',
|
||
factoryBatchImportFetchIdsLabel: 'Promotion fields (fetch_ids)',
|
||
factoryBatchImportLoadFields: 'Load available fields',
|
||
factoryBatchImportFetchTip: 'Uses current journal: pick journal, then load. Search by name or ID (multiple tokens: space or comma). “Select all” selects the filtered list when search is set, otherwise all fields. Checkboxes sync with the comma text; when non-empty, overrides fetch_ids on every row.',
|
||
factoryBatchImportFetchIdsManual: 'Merged IDs (comma-separated, editable)',
|
||
factoryBatchImportFetchIdsPlaceholder: 'e.g. 1,2,3 or use checkboxes',
|
||
factoryBatchImportNeedJournalForFields: 'Select or enter journal ID first',
|
||
factoryBatchImportLoadAccounts: 'Load accounts for journal',
|
||
factoryBatchImportAccountsApiTip: 'POST api/email_client/getAccounts with journal_id',
|
||
factoryBatchImportColEmailId: 'j_email_id',
|
||
factoryBatchImportColAddress: 'Sender address',
|
||
factoryBatchImportColQuota: 'Remaining / daily limit',
|
||
factoryBatchImportCopyEmailIds: 'Copy email_ids (comma)',
|
||
factoryBatchImportNeedJournalForAccounts: 'Enter journal ID first',
|
||
factoryBatchImportNoAccounts: 'No mailbox accounts for this journal',
|
||
factoryBatchImportAccountsFail: 'Failed to load accounts',
|
||
factoryBatchImportCopyEmailIdsEmpty: 'Load the account list first',
|
||
factoryBatchImportIdsCopied: 'Copied j_email_id list to clipboard',
|
||
factoryBatchImportCopyFail: 'Copy failed; select and copy manually',
|
||
factoryBatchImportSyncToJson: 'Apply top form to JSON',
|
||
factoryBatchImportSyncFromJson: 'Load first row into form',
|
||
factoryBatchImportSyncIncludeEmails: 'When applying, set each row email_ids from loaded accounts',
|
||
factoryBatchImportSyncTip: 'You can still edit JSON manually; non-empty top fields are merged again on submit.',
|
||
factoryBatchImportJsonFromUiOk: 'JSON updated from the form',
|
||
factoryBatchImportUiFromJsonOk: 'Form updated from the first JSON row',
|
||
factoryBatchImportRun: 'Run batch create',
|
||
factoryBatchImportBadJson: 'Invalid JSON; check brackets and quotes',
|
||
factoryBatchImportEmpty: 'Array must contain at least one object',
|
||
factoryBatchImportMissing: 'Row {index}: missing field {field}',
|
||
factoryBatchImportNeedFetch: 'Row {index}: expert database requires fetch_ids',
|
||
factoryBatchImportNeedZone: 'Row {index}: expert database requires target_partitions or target_country_ids',
|
||
factoryBatchImportRowFail: 'Row {index} failed: {msg}',
|
||
factoryBatchImportRowNetwork: 'Row {index}: request error',
|
||
factoryBatchImportDone: 'Done: {ok} succeeded, {fail} failed',
|
||
factoryBatchImportErrorsTitle: 'Errors (first 8)',
|
||
factoryDialogTitle: 'Create task',
|
||
factoryJournal: 'Journal',
|
||
factoryJournalPlaceholder: 'Select a journal',
|
||
factorySendSettings: 'Sending & scenario',
|
||
factoryEmails: 'Sender accounts',
|
||
factoryEmailsPlaceholder: 'Select one or more sender accounts',
|
||
factorySendCount: 'Send count',
|
||
factoryType: 'Scenario',
|
||
factoryTypeEditor: 'Editor',
|
||
factoryTypeArticle: 'Promote article',
|
||
factoryExpertType: 'Expert type',
|
||
factoryExpertTypePlaceholder: 'Optional; follow backend rules',
|
||
factorySubmit: 'Submit task',
|
||
factorySubmitSuccess: 'Factory task created',
|
||
factorySubmitFailed: 'Create failed, please try again later',
|
||
factoryNeedJournal: 'Please select a journal first',
|
||
factoryNeedTemplate: 'Please select email template and style',
|
||
factoryNeedEmails: 'Please select at least one sender account',
|
||
factoryNeedExpertType: 'Please select target person type',
|
||
factoryEmailsPickJournal: 'Select a journal to load sender accounts',
|
||
factoryNoAccounts: 'No mailbox accounts for this journal',
|
||
factoryAccountRemaining: 'Remaining today',
|
||
factorySendMaxFromApi: 'limit: up to {max} per day',
|
||
factorySendMaxFallback: 'using mailbox quota sum ~{max} (or default cap)',
|
||
factoryStepNav1Title: 'Journal',
|
||
factoryStepNav1Desc: 'Select a journal first.',
|
||
factoryStepNav2Title: 'Email template and style',
|
||
factoryStepNav2Desc: 'Choose template and style.',
|
||
factoryStepNav3Title: 'Sending and scenario',
|
||
factoryStepNav3Desc: 'Choose accounts, send count, and target type.',
|
||
factoryStepNav4Title: 'Promotion fields',
|
||
factoryStepNav4Desc: 'Select at least one promotion field.',
|
||
factoryStepNav5Title: 'Country',
|
||
factoryStepNav5Desc: 'Select at least one country or partition.',
|
||
factoryStepNav6Title: 'Confirm and enable',
|
||
factoryStepNav6Desc: 'Choose save only or enable next day.',
|
||
factoryPromotionFieldsBlockTip: 'Open “Choose fields” and tick at least one item; do not submit with none selected.',
|
||
factoryPromotionCountryBlockTip: 'Tick at least one partition or country; do not submit with none selected.',
|
||
factoryNeedPromotionFields: 'Select at least one promotion field before submitting.',
|
||
factoryNeedPromotionCountry: 'Select at least one partition or country before submitting.',
|
||
factoryQuotaLabel: 'Quota',
|
||
factoryClickSelectTemplate: 'Click to select email template',
|
||
factoryClickConfigureFields: 'Click to configure subject fields',
|
||
factoryBtnModify: 'Edit',
|
||
factoryBtnReset: 'Reset',
|
||
factoryBtnCancel: 'Cancel',
|
||
factoryBtnSubmit: 'Submit task',
|
||
factoryFillRequired: 'Please complete journal, template, and at least one sender account',
|
||
factoryExpertChief: 'Editor-in-Chief',
|
||
factoryExpertBoard: 'Editorial board',
|
||
factoryExpertYoungBoard: 'Young editorial board',
|
||
factoryExpertAuthor: 'Author',
|
||
factoryExpertDb: 'Expert database',
|
||
factoryExpertReviewer: 'Reviewer',
|
||
factoryExpertJump: 'View',
|
||
factoryOfficialEmailTip: 'For this type, the system uses the official sender email by default. No account selection is required.',
|
||
factoryScenario: 'Scenario',
|
||
factoryScenarioPlaceholder: 'Select scenario',
|
||
factoryScenarioSolicit: 'Invite Submission',
|
||
factoryScenarioPromoteCitation: 'Promote Citation',
|
||
factoryScenarioGeneralThanks: 'General Thanks',
|
||
createdAt: 'Created at',
|
||
noFactoryTask: 'No tasks',
|
||
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',
|
||
pipelineHistory: 'PIPELINE HISTORY',
|
||
factoryTaskSelectPlaceholder: 'Select promotion task',
|
||
configured: 'Configured',
|
||
editConfig: 'Edit auto promotion configuration',
|
||
startConfig: 'Start auto promotion configuration',
|
||
notConfigured: 'Not configured',
|
||
searchPlaceholder: 'Name / Email',
|
||
statusAll: 'All status',
|
||
searchBtn: 'Search',
|
||
index: 'No.',
|
||
taskName: 'Task Name',
|
||
taskParams: 'Parameters',
|
||
templateIdLabel: 'Template ID',
|
||
styleIdLabel: 'Style ID',
|
||
deliveryStats: 'Delivery Stats',
|
||
totalCount: 'Total',
|
||
sentCount: 'Sent',
|
||
failCount: 'Failed',
|
||
bounceCount: 'Bounce',
|
||
noDeliveryIssue: 'No delivery issues',
|
||
deliveryIssue: 'Delivery issues',
|
||
completedText: 'Completed',
|
||
expertInfo: 'Expert Info',
|
||
templateStyle: 'Template / Style',
|
||
stylePrefix: 'Style',
|
||
runAt: 'Execution time',
|
||
status: 'Status',
|
||
state0: 'Draft',
|
||
state1: 'Running',
|
||
state2: 'Paused',
|
||
state3: 'Completed',
|
||
state4: 'Cancelled',
|
||
state5: 'Preparing',
|
||
paused: 'Paused',
|
||
toRun: 'To run',
|
||
operation: 'Operation',
|
||
preview: 'Preview',
|
||
previewAction: 'Preview',
|
||
editAction: 'Edit',
|
||
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:',
|
||
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',
|
||
operationFailed: 'Operation failed',
|
||
selectTaskForLogs: 'Please select a task first (click the view icon in the list)',
|
||
pushLogTitle: 'Task list',
|
||
logRefresh: 'Refresh',
|
||
taskLogStateFilter: 'Status',
|
||
taskLogStateAll: 'All',
|
||
taskLogState0: 'Pending',
|
||
taskLogState1: 'Sent',
|
||
taskLogState2: 'Failed',
|
||
taskLogState3: 'Bounced',
|
||
taskLogState4: 'Cancelled',
|
||
logColIndex: 'No.',
|
||
logColExpert: 'Expert',
|
||
logColSendTime: 'Sent at',
|
||
logColPreparedAt: 'Prepared at',
|
||
logColStatus: 'Status',
|
||
logColAction: 'Action',
|
||
emptyLogs: 'No logs',
|
||
viewFailureReason: 'Reason',
|
||
editLogTip: 'Edit',
|
||
deleteLogTip: 'Delete',
|
||
previewLogTip: 'Preview',
|
||
logFieldAffiliation: 'Affiliation',
|
||
logFieldSubject: 'Subject',
|
||
logFieldSendTime: 'Sent at',
|
||
logFieldExecutionTime: 'Executed at',
|
||
saveDetail: 'Save',
|
||
failureReasonTitle: 'Failure reason',
|
||
saveDetailSuccess: 'Saved',
|
||
saveDetailFailed: 'Save failed',
|
||
logDetailLoadFailed: 'Failed to load detail',
|
||
logIdMissing: 'Missing log id',
|
||
logAlreadySent: 'This record is no longer pending; switched to preview',
|
||
deleteLogConfirm: 'Delete this log entry?',
|
||
tipTitle: 'Tip',
|
||
deleteLogSuccess: 'Deleted',
|
||
deleteLogFailed: 'Delete failed',
|
||
noFailureReason: 'No failure reason',
|
||
deletedSuccess: 'Deleted',
|
||
mockPromotionSubject: 'Promotion for {journal}',
|
||
mockPromotionContent: '<p>Dear {name},</p><p>Check out our latest journal updates...</p>'
|
||
},
|
||
tmrEmailEditor: {
|
||
preview: 'Preview',
|
||
previewWithVariables: 'Preview (showing variables)',
|
||
previewWithVariablesTitle: 'Preview (showing variables)',
|
||
previewWithVariablesHint: 'The expert data is an example, used for variable spelling check only.',
|
||
close: 'Close',
|
||
placeholder: 'Please enter email content'
|
||
}
|
||
|
||
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
export default en;
|