import { defineMessages } from '@edx/frontend-platform/i18n';

const messages = defineMessages({
  allDates: {
    id: 'learning.outline.dates.all',
    defaultMessage: 'View all course dates',
    description: 'Text anchor for link that redirects to dates or course timeline tab',
  },
  casualGoalButtonText: {
    id: 'learning.outline.goalButton.casual.text',
    defaultMessage: '1 day a week',
    description: 'Text shown for casual goal button',
  },
  casualGoalButtonTitle: {
    id: 'learning.outline.goalButton.screenReader.text',
    defaultMessage: 'Casual',
    description: 'A very short description of the least intense of three learning goals',
  },
  certAlt: {
    id: 'learning.outline.certificateAlt',
    defaultMessage: 'Example Certificate',
    description: 'Alternate text displayed when the example certificate image cannot be displayed.',
  },
  collapseAll: {
    id: 'learning.outline.collapseAll',
    defaultMessage: 'Collapse all',
    description: 'Label for button to close all of the collapsible sections',
  },
  completedAssignment: {
    id: 'learning.outline.completedAssignment',
    defaultMessage: 'Completed',
    description: 'Text used to describe the green checkmark icon in front of an assignment title',
  },
  completedSection: {
    id: 'learning.outline.completedSection',
    defaultMessage: 'Completed section',
    description: 'Text used to describe the green checkmark icon in front of a section title',
  },
  hiddenSection: {
    id: 'learning.outline.hiddenSection',
    defaultMessage: 'Hidden in Course Outline, accessible via link',
    description: 'Label for hidden section in course outline',
  },
  hiddenSequenceLink: {
    id: 'learning.outline.hiddenSequenceLink',
    defaultMessage: 'Subsections are not navigable between each other, they can only be accessed through their link.',
    description: 'Label for hidden sequence in course outline',
  },
  dates: {
    id: 'learning.outline.dates',
    defaultMessage: 'Important dates',
    description: 'Headline for the (summary of dates) section of the outline page',
  },
  editGoal: {
    id: 'learning.outline.editGoal',
    defaultMessage: 'Edit goal',
    description: 'Edit course goal button',
  },
  expandAll: {
    id: 'learning.outline.expandAll',
    defaultMessage: 'Expand all',
    description: 'Label for button to open all of the collapsible sections',
  },
  goal: {
    id: 'learning.outline.goal',
    defaultMessage: 'Goal',
    description: 'Label for the selected course goal',
  },
  goalReminderDetail: {
    id: 'learning.outline.goalReminderDetail',
    defaultMessage: 'If we notice you’re not quite at your goal, we’ll send you an email reminder.',
    description: 'It describe to learner what is goal reminder service',
  },
  goalUnsure: {
    id: 'learning.outline.goalUnsure',
    defaultMessage: 'Not sure yet',
  },
  handouts: {
    id: 'learning.outline.handouts',
    defaultMessage: 'Course Handouts',
    description: 'Header for (Course Handouts) section in course outline',
  },
  incompleteAssignment: {
    id: 'learning.outline.incompleteAssignment',
    defaultMessage: 'Incomplete',
    description: 'Text used to describe the gray checkmark icon in front of an assignment title',
  },
  incompleteSection: {
    id: 'learning.outline.incompleteSection',
    defaultMessage: 'Incomplete section',
    description: 'Text used to describe the gray checkmark icon in front of a section title',
  },
  intenseGoalButtonText: {
    id: 'learning.outline.goalButton.intense.text',
    defaultMessage: '5 days a week',
    description: 'Text shown for intense goal button',
  },
  intenseGoalButtonTitle: {
    id: 'learning.outline.goalButton.intense.title',
    defaultMessage: 'Intense',
    description: 'A very short description of the most intensive option of three learning goals, Casual, Regular and Intense',
  },
  learnMore: {
    id: 'learning.outline.learnMore',
    defaultMessage: 'Learn More',
  },
  openSection: {
    id: 'learning.outline.altText.openSection',
    defaultMessage: 'Open',
    description: 'A button to open the given section of the course outline',
  },
  proctoringInfoPanel: {
    id: 'learning.proctoringPanel.header',
    defaultMessage: 'This course contains proctored exams',
    description: 'Used as a label to indicate that course has proctored exams',
  },
  regularGoalButtonText: {
    id: 'learning.outline.goalButton.regular.text',
    defaultMessage: '3 days a week',
    description: 'Text shown for regular goal button',

  },
  regularGoalButtonTitle: {
    id: 'learning.outline.goalButton.regular.title',
    defaultMessage: 'Regular',
    description: 'A very short description of the middle option of three learning goals, Casual, Regular and Intense',
  },
  resumeBlurb: {
    id: 'learning.outline.resumeBlurb',
    defaultMessage: 'Pick up where you left off',
    description: 'Text describing to the learner that they can return to the last section they visited within the course.',
  },
  resume: {
    id: 'learning.outline.resume',
    defaultMessage: 'Resume course',
    description: 'Anchor text for button that would resume course',
  },
  setGoal: {
    id: 'learning.outline.setGoal',
    defaultMessage: 'To start, set a course goal by selecting the option below that best describes your learning plan.',
    description: 'In indicate to learner how to set or use the goal reminder service',
  },
  setGoalReminder: {
    id: 'learning.outline.setGoalReminder',
    defaultMessage: 'Set a goal reminder',
    description: 'The text for the radio button which activate or deactivate the goal reminder service',
  },
  setLearningGoalButtonScreenReaderText: {
    id: 'learning.outline.goalButton.casual.title',
    defaultMessage: 'Set a learning goal style.',
    description: 'screen reader text informing learner they can select an intensity of learning goal',
  },
  setWeeklyGoal: {
    id: 'learning.outline.setWeeklyGoal',
    defaultMessage: 'Set a weekly learning goal',
    description: 'The headline for (goal reminder service) section in course outline',
  },
  setWeeklyGoalDetail: {
    id: 'learning.outline.setWeeklyGoalDetail',
    defaultMessage: 'Setting a goal motivates you to finish the course. You can always change it later.',
    description: 'It indiacate the gaol or the purpose of the goal reminder service to learners',
  },
  start: {
    id: 'learning.outline.start',
    defaultMessage: 'Start course',
    description: 'The text for button which starts the course',
  },
  startBlurb: {
    id: 'learning.outline.startBlurb',
    defaultMessage: 'Begin your course today',
  },
  tools: {
    id: 'learning.outline.tools',
    defaultMessage: 'Course Tools',
    description: 'Headline for the (course tools) section in course outline. course tool might include links to course bookmarks, financial assistance...etc',
  },
  upgradeButton: {
    id: 'learning.outline.upgradeButton',
    defaultMessage: 'Upgrade ({symbol}{price})',
    description: 'Text for the button which redirects to the upgrading page',
  },
  upgradeTitle: {
    id: 'learning.outline.upgradeTitle',
    defaultMessage: 'Pursue a verified certificate',
    description: 'Upgrade title',
  },
  welcomeMessage: {
    id: 'learning.outline.welcomeMessage',
    defaultMessage: 'Welcome Message',
  },
  welcomeMessageShowMoreButton: {
    id: 'learning.outline.welcomeMessageShowMoreButton',
    defaultMessage: 'Show More',
  },
  welcomeMessageShowLessButton: {
    id: 'learning.outline.welcomeMessageShowLessButton',
    defaultMessage: 'Show Less',
  },
  welcomeTo: {
    id: 'learning.outline.goalWelcome',
    defaultMessage: 'Welcome to',
    description: 'This precedes the title of the course',
  },
  notStartedProctoringStatus: {
    id: 'learning.proctoringPanel.status.notStarted',
    defaultMessage: 'Not Started',
    description: 'It indcate that proctortrack onboarding exam hasn’t started yet',
  },
  startedProctoringStatus: {
    id: 'learning.proctoringPanel.status.started',
    defaultMessage: 'Started',
    description: 'Label to indicate the starting status of the proctortrack onboarding exam',
  },
  submittedProctoringStatus: {
    id: 'learning.proctoringPanel.status.submitted',
    defaultMessage: 'Submitted',
    description: 'Label to indicate the submitted status of proctortrack onboarding exam',
  },
  verifiedProctoringStatus: {
    id: 'learning.proctoringPanel.status.verified',
    defaultMessage: 'Verified',
    description: 'Label to indicate the verified status of the proctortrack onboarding exam',
  },
  rejectedProctoringStatus: {
    id: 'learning.proctoringPanel.status.rejected',
    defaultMessage: 'Rejected',
    description: 'Label to indicate the rejection status of the proctortrack onboarding exam',
  },
  errorProctoringStatus: {
    id: 'learning.proctoringPanel.status.error',
    defaultMessage: 'Error',
    description: 'Label to indicate that there is error in proctortrack onboarding exam',
  },
  otherCourseApprovedProctoringStatus: {
    id: 'learning.proctoringPanel.status.otherCourseApproved',
    defaultMessage: 'Approved in Another Course',
    description: 'Label to indicate that the proctortrack onboarding exam is verified based on taking onboarding exam on another course',
  },
  expiringSoonProctoringStatus: {
    id: 'learning.proctoringPanel.status.expiringSoon',
    defaultMessage: 'Expiring Soon',
    description: 'A label to indicate that proctortrack onboarding exam will expire soon',
  },
  expiredProctoringStatus: {
    id: 'learning.proctoringPanel.status.expired',
    defaultMessage: 'Expired',
    description: 'A label to indicate that proctortrack onboarding exam has expired',
  },
  proctoringCurrentStatus: {
    id: 'learning.proctoringPanel.status',
    defaultMessage: 'Current Onboarding Status:',
    description: 'The text that precede the status label of proctortrack onboarding exam',
  },
  notStartedProctoringMessage: {
    id: 'learning.proctoringPanel.message.notStarted',
    defaultMessage: 'You have not started your onboarding exam.',
    description: 'The text that explain the meaning of (not started) label of the proctortrack onboarding exam',
  },
  startedProctoringMessage: {
    id: 'learning.proctoringPanel.message.started',
    defaultMessage: 'You have started your onboarding exam.',
    description: 'The text that explain the meaning of (started) label of the proctortrack onboarding exam',
  },
  submittedProctoringMessage: {
    id: 'learning.proctoringPanel.message.submitted',
    defaultMessage: 'You have submitted your onboarding exam.',
    description: 'The text that explain the meaning of (submitted) label of the proctortrack onboarding exam',
  },
  verifiedProctoringMessage: {
    id: 'learning.proctoringPanel.message.verified',
    defaultMessage: 'Your onboarding exam has been approved in this course.',
    description: 'The text that explain the meaning of (verified) label of the proctortrack onboarding exam',
  },
  rejectedProctoringMessage: {
    id: 'learning.proctoringPanel.message.rejected',
    defaultMessage: 'Your onboarding exam has been rejected. Please retry onboarding.',
    description: 'The text that explain the meaning of (rejected) label of the proctortrack onboarding exam',
  },
  errorProctoringMessage: {
    id: 'learning.proctoringPanel.message.error',
    defaultMessage: 'An error has occurred during your onboarding exam. Please retry onboarding.',
    description: 'The text that explain the meaning of (error) label of the proctortrack onboarding exam',
  },
  otherCourseApprovedProctoringMessage: {
    id: 'learning.proctoringPanel.message.otherCourseApproved',
    defaultMessage: 'Your onboarding exam has been approved in another course.',
    description: 'The text that explain the meaning of (approved in another course) label of the proctortrack onboarding exam',
  },
  otherCourseApprovedProctoringDetail: {
    id: 'learning.proctoringPanel.detail.otherCourseApproved',
    defaultMessage: 'If your device has changed, we recommend that you complete this course\'s onboarding exam in order to ensure that your setup still meets the requirements for proctoring.',
    description: 'The text that recommend an action when the status of the proctortrack onboarding exam is (approved in another course)',
  },
  expiringSoonProctoringMessage: {
    id: 'learning.proctoringPanel.message.expiringSoon',
    defaultMessage: 'Your onboarding profile has been approved. However, your onboarding status is expiring soon. Please complete onboarding again to ensure that you will be able to continue taking proctored exams.',
    description: 'The text that recommend an action when the status of the proctortrack onboarding exam is (expiring soon)',
  },
  expiredProctoringMessage: {
    id: 'learning.proctoringPanel.message.expired',
    defaultMessage: 'Your onboarding status has expired. Please complete onboarding again to continue taking proctored exams.',
    description: 'The text that recommend an action when the status of the proctortrack onboarding exam is (expired)',
  },
  proctoringPanelGeneralInfo: {
    id: 'learning.proctoringPanel.generalInfo',
    defaultMessage: 'You must complete the onboarding process prior to taking any proctored exam. ',
    description: 'It indicate key and important fact to learner about the importance of taking proctortrack onboarding exam',
  },
  proctoringPanelGeneralInfoSubmitted: {
    id: 'learning.proctoringPanel.generalInfoSubmitted',
    defaultMessage: 'Your submitted profile is in review.',
    description: 'The text that explain the meaning of (in review) label of the proctortrack onboarding exam',
  },
  proctoringPanelGeneralTime: {
    id: 'learning.proctoringPanel.generalTime',
    defaultMessage: 'Onboarding profile review can take 2+ business days.',
    description: 'This text explain for how long the (in review) status of the proctortrack onboarding exam might remain',
  },
  proctoringOnboardingButton: {
    id: 'learning.proctoringPanel.onboardingButton',
    defaultMessage: 'Complete Onboarding',
    description: 'Text shown on the button that starts the actual proctortrack onboarding exam when it is released',
  },
  proctoringOnboardingPracticeButton: {
    id: 'learning.proctoringPanel.onboardingPracticeButton',
    defaultMessage: 'View Onboarding Exam',
    description: 'The text that appears on onboarding exam while its not released, so learners can take or view it as a practice',
  },
  proctoringOnboardingButtonNotOpen: {
    id: 'learning.proctoringPanel.onboardingButtonNotOpen',
    defaultMessage: 'Onboarding Opens: {releaseDate}',
    description: 'It indicate when or from when the learner can take the proctortrack onboarding exam',
  },
  proctoringReviewRequirementsButton: {
    id: 'learning.proctoringPanel.reviewRequirementsButton',
    defaultMessage: 'Review instructions and system requirements',
    description: 'Anchor text for button which redirect leaner to doc or a detailed page about proctortrack onboarding exam',
  },
  proctoringOnboardingButtonPastDue: {
    id: 'learning.proctoringPanel.onboardingButtonPastDue',
    defaultMessage: 'Onboarding Past Due',
    description: 'Text that show when the deadline of proctortrack onboarding exam has passed, it appears on button that start the onboarding exam however for this case the button is disabled for obvious reason',
  },
  sequenceDueDate: {
    id: 'learning.outline.sequence-due-date-set',
    defaultMessage: '{description} due {assignmentDue}',
    description: 'Used below an assignment title',
  },
  sequenceNoDueDate: {
    id: 'learning.outline.sequence-due-date-not-set',
    defaultMessage: '{description}',
    description: 'Used below an assignment title',
  },
});

export default messages;
