MOPC-App/messages/en.json

322 lines
9.7 KiB
JSON
Raw Normal View History

Implement 15 platform features: digest, availability, templates, comparison, live voting SSE, file versioning, mentorship, messaging, analytics, drafts, webhooks, peer review, audit enhancements, i18n Features implemented: - F1: Email digest notifications with cron endpoint and per-user frequency - F2: Jury availability windows and workload preferences in smart assignment - F3: Round templates with save-from-round and CRUD management - F4: Side-by-side project comparison view for jury members - F5: Real-time voting dashboard with Server-Sent Events (SSE) - F6: Live voting UX: QR codes, audience voting, tie-breaking, score animations - F7: File versioning, inline preview, bulk download with presigned URLs - F8: Mentor dashboard: milestones, private notes, activity tracking - F9: Communication hub with broadcasts, templates, and recipient targeting - F10: Advanced analytics: cross-round comparison, juror consistency, diversity metrics, PDF export - F11: Applicant draft saving with magic link resume and cron cleanup - F12: Webhook integration layer with HMAC signing, retry, and delivery logs - F13: Peer review discussions with anonymized scores and threaded comments - F14: Audit log enhancements: before/after diffs, session grouping, anomaly detection, retention - F15: i18n foundation with next-intl (EN/FR), cookie-based locale, language switcher Schema: 12 new models, field additions to User, Project, ProjectFile, LiveVotingSession, LiveVote, MentorAssignment, AuditLog, Program New routers: roundTemplate, message, webhook (registered in _app.ts) New services: email-digest, webhook-dispatcher New cron endpoints: /api/cron/digest, /api/cron/draft-cleanup, /api/cron/audit-cleanup New API routes: /api/live-voting/stream (SSE), /api/files/bulk-download All features are admin-configurable via SystemSettings or per-model settingsJson fields. Docker build verified successfully. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-05 23:31:41 +01:00
{
"common": {
"loading": "Loading...",
"save": "Save",
"cancel": "Cancel",
"delete": "Delete",
"edit": "Edit",
"create": "Create",
"close": "Close",
"confirm": "Confirm",
"back": "Back",
"next": "Next",
"submit": "Submit",
"search": "Search",
"filter": "Filter",
"export": "Export",
"import": "Import",
"refresh": "Refresh",
"actions": "Actions",
"status": "Status",
"name": "Name",
"email": "Email",
"role": "Role",
"date": "Date",
"description": "Description",
"settings": "Settings",
"yes": "Yes",
"no": "No",
"all": "All",
"none": "None",
"noResults": "No results found",
"error": "Error",
"success": "Success",
"warning": "Warning",
"info": "Info",
"required": "Required",
"optional": "Optional",
"total": "Total",
"page": "Page",
"of": "of",
"showing": "Showing",
"entries": "entries",
"perPage": "per page",
"language": "Language",
"english": "English",
"french": "French"
},
"auth": {
"signIn": "Sign In",
"signOut": "Sign Out",
"signUp": "Sign Up",
"email": "Email Address",
"password": "Password",
"forgotPassword": "Forgot Password?",
"resetPassword": "Reset Password",
"newPassword": "New Password",
"confirmPassword": "Confirm Password",
"currentPassword": "Current Password",
"magicLink": "Sign in with Magic Link",
"magicLinkSent": "Check your email for a sign-in link",
"invalidCredentials": "Invalid email or password",
"accountLocked": "Account locked. Try again later.",
"setPassword": "Set Password",
"passwordRequirements": "Password must be at least 8 characters",
"passwordsDoNotMatch": "Passwords do not match",
"welcomeBack": "Welcome back",
"signInDescription": "Enter your email to sign in to your account",
"orContinueWith": "Or continue with"
},
"nav": {
"dashboard": "Dashboard",
"programs": "Programs",
"rounds": "Rounds",
"projects": "Projects",
"users": "Users",
"evaluations": "Evaluations",
"assignments": "Assignments",
"analytics": "Analytics",
"settings": "Settings",
"audit": "Audit Log",
"myProjects": "My Projects",
"myEvaluations": "My Evaluations",
"profile": "Profile",
"help": "Help",
"notifications": "Notifications",
"mentoring": "Mentoring",
"liveVoting": "Live Voting",
"applications": "Applications",
"messages": "Messages"
},
"dashboard": {
"title": "Dashboard",
"welcome": "Welcome, {name}",
"overview": "Overview",
"recentActivity": "Recent Activity",
"pendingEvaluations": "Pending Evaluations",
"completedEvaluations": "Completed Evaluations",
"totalProjects": "Total Projects",
"activeRounds": "Active Rounds",
"assignedProjects": "Assigned Projects",
"upcomingDeadlines": "Upcoming Deadlines",
"quickActions": "Quick Actions",
"noActivity": "No recent activity"
},
"programs": {
"title": "Programs",
"createProgram": "Create Program",
"editProgram": "Edit Program",
"programName": "Program Name",
"year": "Year",
"status": "Status",
"rounds": "Rounds",
"projects": "Projects",
"noPrograms": "No programs found",
"deleteConfirm": "Are you sure you want to delete this program?"
},
"rounds": {
"title": "Rounds",
"createRound": "Create Round",
"editRound": "Edit Round",
"roundName": "Round Name",
"roundType": "Round Type",
"startDate": "Start Date",
"endDate": "End Date",
"votingWindow": "Voting Window",
"criteria": "Evaluation Criteria",
"status": "Status",
"active": "Active",
"closed": "Closed",
"upcoming": "Upcoming",
"noRounds": "No rounds found"
},
"projects": {
"title": "Projects",
"createProject": "Create Project",
"editProject": "Edit Project",
"projectName": "Project Title",
"teamName": "Team Name",
"country": "Country",
"category": "Category",
"status": "Status",
"description": "Description",
"files": "Files",
"evaluations": "Evaluations",
"noProjects": "No projects found",
"importCsv": "Import CSV",
"bulkStatusUpdate": "Bulk Status Update",
"viewDetails": "View Details",
"assignMentor": "Assign Mentor",
"oceanIssue": "Ocean Issue"
},
"evaluations": {
"title": "Evaluations",
"submitEvaluation": "Submit Evaluation",
"draft": "Draft",
"submitted": "Submitted",
"score": "Score",
"feedback": "Feedback",
"criteria": "Criteria",
"globalScore": "Global Score",
"decision": "Decision",
"recommend": "Recommend",
"doNotRecommend": "Do Not Recommend",
"saveAsDraft": "Save as Draft",
"finalSubmit": "Final Submit",
"confirmSubmit": "Are you sure? This action cannot be undone.",
"progress": "Progress",
"completionRate": "Completion Rate",
"noEvaluations": "No evaluations yet",
"evaluationSummary": "Evaluation Summary",
"strengths": "Strengths",
"weaknesses": "Weaknesses",
"overallAssessment": "Overall Assessment"
},
"users": {
"title": "Users",
"createUser": "Create User",
"editUser": "Edit User",
"inviteUser": "Invite User",
"bulkImport": "Bulk Import",
"sendInvitation": "Send Invitation",
"resendInvitation": "Resend Invitation",
"role": "Role",
"status": "Status",
"active": "Active",
"invited": "Invited",
"suspended": "Suspended",
"noUsers": "No users found",
"expertiseTags": "Expertise Tags",
"maxAssignments": "Max Assignments",
"lastLogin": "Last Login",
"deleteConfirm": "Are you sure you want to delete this user?"
},
"assignments": {
"title": "Assignments",
"assign": "Assign",
"unassign": "Unassign",
"bulkAssign": "Bulk Assign",
"smartAssign": "Smart Assignment",
"manual": "Manual",
"algorithm": "Algorithm",
"aiAuto": "AI Auto",
"noAssignments": "No assignments",
"assignedTo": "Assigned to",
"assignedBy": "Assigned by"
},
"files": {
"title": "Files",
"upload": "Upload File",
"download": "Download",
"delete": "Delete File",
"fileName": "File Name",
"fileType": "File Type",
"fileSize": "File Size",
"uploadDate": "Upload Date",
"noFiles": "No files uploaded",
"dragAndDrop": "Drag and drop files here",
"maxSize": "Maximum file size: {size}",
"version": "Version",
"versionHistory": "Version History",
"replaceFile": "Replace File",
"bulkDownload": "Bulk Download"
},
"settings": {
"title": "Settings",
"general": "General",
"branding": "Branding",
"email": "Email",
"security": "Security",
"ai": "AI Configuration",
"storage": "Storage",
"language": "Language",
"defaultLanguage": "Default Language",
"availableLanguages": "Available Languages",
"languageDescription": "Configure the platform's language settings",
"saved": "Settings saved successfully",
"saveFailed": "Failed to save settings"
},
"liveVoting": {
"title": "Live Voting",
"session": "Session",
"startVoting": "Start Voting",
"stopVoting": "Stop Voting",
"endSession": "End Session",
"timeRemaining": "Time Remaining",
"castVote": "Cast Your Vote",
"voteSubmitted": "Vote submitted",
"results": "Results",
"juryScore": "Jury Score",
"audienceScore": "Audience Score",
"weightedTotal": "Weighted Total",
"noVotes": "No votes yet",
"votingClosed": "Voting has closed",
"presentationSettings": "Presentation Settings",
"audienceVoting": "Audience Voting"
},
"mentor": {
"title": "Mentoring",
"myMentees": "My Mentees",
"projectDetails": "Project Details",
"sendMessage": "Send Message",
"notes": "Notes",
"addNote": "Add Note",
"milestones": "Milestones",
"completeMilestone": "Mark Complete",
"activity": "Activity",
"lastViewed": "Last Viewed",
"noMentees": "No mentees assigned"
},
"profile": {
"title": "Profile",
"editProfile": "Edit Profile",
"name": "Full Name",
"email": "Email",
"phone": "Phone Number",
"country": "Country",
"bio": "Bio",
"expertise": "Areas of Expertise",
"notifications": "Notification Preferences",
"digestFrequency": "Digest Frequency",
"availability": "Availability",
"workload": "Preferred Workload",
"changePassword": "Change Password",
"deleteAccount": "Delete Account",
"deleteAccountConfirm": "This action cannot be undone. All your data will be permanently deleted."
},
"onboarding": {
"welcome": "Welcome to MOPC",
"setupProfile": "Let's set up your profile",
"step1": "Personal Information",
"step2": "Expertise & Preferences",
"step3": "Review & Complete",
"complete": "Complete Setup",
"skip": "Skip for now"
},
"errors": {
"generic": "Something went wrong. Please try again.",
"notFound": "Page not found",
"unauthorized": "You are not authorized to access this page",
"forbidden": "Access denied",
"serverError": "Internal server error",
"networkError": "Network error. Please check your connection.",
"sessionExpired": "Your session has expired. Please sign in again.",
"validationError": "Please check the form for errors"
},
"notifications": {
"title": "Notifications",
"markAllRead": "Mark all as read",
"noNotifications": "No notifications",
"viewAll": "View all notifications"
},
"coi": {
"title": "Conflict of Interest",
"declaration": "COI Declaration",
"declareConflict": "Declare Conflict of Interest",
"noConflict": "No conflict of interest",
"hasConflict": "Conflict declared",
"reason": "Reason for conflict",
"confirmDeclaration": "I confirm this declaration is accurate"
}
}