Files
classroomio/apps/dashboard/src/lib/utils/translations/en.json
T
Rotimi BestandRotimi Best 656fa4fa7e feat(dashboard): add content page options menu (#757)
* feat(dashboard): add content page options menu

Add a three-dot menu on the course Content page with actions to unlock
all locked lessons/exercises and toggle content grouping. Reuse shared
locked-content collection logic from course settings.

Co-authored-by: Rotimi Best <[email protected]>

* fix(dashboard): keep unlock-all enabled and add menu icons

Show a success snackbar when all content is already unlocked instead of
disabling the action. Add lock-open and table-of-contents icons to menu items.

Co-authored-by: Rotimi Best <[email protected]>

* fix(dashboard): check courseApi.update return for grouping toggle

Use the update() return value instead of courseApi.success, which can be
false after a successful PUT if the follow-up refresh request fails.

Co-authored-by: Rotimi Best <[email protected]>

---------

Co-authored-by: Rotimi Best <[email protected]>
2026-07-15 22:28:23 +01:00

4940 lines
206 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"aiTutor": {
"page": {
"org": {
"title": "AI Tutor settings",
"description": "Defaults for every course in this workspace. Courses can inherit these or override them."
},
"course": {
"title": "AI Tutor for this course",
"description": "Inherit your workspace AI Tutor defaults, or override how the tutor behaves in this course."
}
},
"action": {
"save": "Save changes"
},
"state": {
"loading": "Loading AI tutor settings…"
},
"snackbar": {
"saved": "AI tutor settings saved"
},
"section": {
"availability": "Availability",
"availability_description": "Turn the AI tutor on or off for students in this workspace.",
"personality": "Personality",
"personality_description": "How the tutor introduces itself and how long its replies are.",
"guidance": "Things to say · things not to say",
"guidance_description": "Free-text guidance the tutor will follow in every reply, plus an optional list of off-limits topics.",
"assessment": "Exercises & assessments",
"assessment_description": "How the tutor behaves when a student asks for help with an exercise.",
"grounding": "Grounding & citations",
"grounding_description": "Limit what the tutor can talk about and whether it cites course material.",
"escalation": "Escalation",
"escalation_description": "Where to point students when they need a real human.",
"inheritance": "Course inheritance",
"inheritance_description": "Inherit workspace defaults or set per-course overrides."
},
"field": {
"enabled": "AI tutor enabled",
"persona": "Tutor persona",
"customPersona": "Custom persona",
"customPersona_description": "Describe how the tutor should sound — tone, addressing style, anything specific to your audience.",
"responseLength": "Response length",
"welcomeMessage": "Welcome message",
"welcomeMessage_description": "Shown above the first tutor reply in every new conversation.",
"disclaimerFooter": "Disclaimer footer",
"disclaimerFooter_description": "Appended to every tutor reply so students remember the tutor isn't a person.",
"thingsToSay": "Things to say",
"thingsToSay_description": "Examples: \"Always remind students to read the syllabus before week 3.\" \"Encourage students to summarize lessons in their own words.\"",
"thingsNotToSay": "Things not to say",
"thingsNotToSay_description": "Examples: \"Don't reveal answers to the final exam.\" \"Never tell students which review you wrote.\"",
"forbiddenTopics": "Forbidden topics",
"forbiddenTopics_description": "Comma-separated list. The tutor will decline to discuss these.",
"forbiddenTopics_placeholder": "politics, religion, personal medical advice",
"blockOffTopic": "Block off-topic questions",
"profanityFilter": "Profanity & sensitive-content filter",
"assessmentMode": "Assessment mode",
"revealSolutionsAfterAttempts": "Reveal solutions after N attempts",
"revealSolutionsAfterAttempts_description": "After this many failed attempts, the tutor may offer a worked example. Set to 0 to allow direct answers.",
"codePolicy": "Code policy",
"groundingScope": "Grounding scope",
"requireCitations": "Require citations to course material",
"escalationEnabled": "Offer human escalation",
"escalationEmail": "Instructor contact email",
"inheritFromOrg": "Use workspace defaults"
},
"persona": {
"encouraging": "Encouraging",
"friendly": "Friendly",
"formal": "Formal",
"socratic": "Socratic",
"custom": "Custom"
},
"responseLength": {
"short": "Short (1–3 sentences)",
"medium": "Medium (1–2 short paragraphs)",
"long": "Long (structured explanations)"
},
"assessmentMode": {
"hint_only": "Hints only (no direct answers)",
"direct_answer": "Allow direct answers",
"block_during_exercise": "Block help while the student is in an exercise"
},
"codePolicy": {
"hints_only": "Hints only",
"allowed": "Allow full code examples",
"forbidden": "No code in replies"
},
"groundingScope": {
"course": "Whole course",
"lesson": "Current lesson only",
"workspace": "Whole workspace"
},
"takeABreak": {
"title": "Your AI tutor is taking a break",
"learnerCap": "You've hit this month's tutor message limit. Your messages reset on the 1st of next month.",
"poolExhausted": "Your workspace has run out of AI tutor capacity for this month. Please check back later or contact your instructor.",
"disabled": "AI tutor isn't enabled for this workspace."
},
"creditsPage": {
"tutorSummaryTitle": "AI tutor fair-use",
"atCap": "At cap",
"approaching": "Approaching cap",
"totalActive": "Active students this month",
"learnersHeading": "Students",
"headerLearner": "Student",
"headerMessages": "Messages",
"headerTokens": "Tokens",
"headerStatus": "Status",
"statusUnder": "Under cap",
"statusApproaching": "Approaching",
"statusAtCap": "At cap"
}
},
"account": {
"switcher": {
"your_account": "Your account",
"other_organizations": "Other organizations"
},
"workspaces": {
"page_title": "Workspaces",
"page_description": "Manage the workspaces under your account. Workspaces share a single subscription and pooled usage.",
"create_cta": "Create workspace",
"create_cta_used": "{used} of {allowance} used",
"create_cta_disabled_limit": "You've reached the {allowance}-workspace limit. Contact us to expand.",
"create_cta_disabled_upgrade": "Multi-workspace is an Enterprise feature.",
"upgrade_link": "Upgrade",
"primary_badge": "Primary",
"delete_action": "Delete",
"delete_confirm_title": "Delete this workspace?",
"delete_confirm_body": "This permanently removes the workspace, its members, and its courses. This cannot be undone.",
"name_label": "Workspace name",
"site_name_label": "Academy subdomain",
"create_modal_title": "Create a new workspace",
"create_modal_submit": "Create workspace",
"cancel": "Cancel",
"read_only_badge": "Read-only",
"usage_banner": "{students} students and {tokens} AI tokens used across {workspaces} workspaces this month",
"secondary_billing_notice": "Billing is managed by your primary workspace ({primaryName}).",
"go_to_primary": "Go to primary workspace"
}
},
"verify_email_modal": {
"heading": "Verify your Email",
"sent_verification": "We've sent a verification email to",
"to_confirm": "to confirm the validity of the email provided.",
"loading": "Loading...",
"resend": "Resend Verification Code",
"resend_in": "Resend verification in",
"seconds": "seconds",
"snackbar_error": "error while sending code"
},
"email_verification": {
"errors": {
"invalid_token": {
"title": "Invalid Verification Link",
"message": "This verification link is invalid or malformed. Please check your email for the correct link or request a new verification email."
},
"token_used": {
"title": "Link Already Used",
"message": "This verification link has already been used. If you need to verify your email again, please request a new verification link."
},
"token_expired": {
"title": "Verification Link Expired",
"message": "This verification link has expired for security reasons. Please request a new verification email to continue."
},
"email_mismatch": {
"title": "Email Address Changed",
"message": "Your email address has been changed since this verification link was generated. Please request a new verification link for your current email address."
},
"legacy_blocked": {
"title": "Unsupported Verification Method",
"message": "This verification method is no longer supported for security reasons. Please request a new verification email using our secure verification system."
},
"database": {
"title": "System Error",
"message": "We're experiencing technical difficulties. Please try again later or contact our support team if the issue persists."
},
"unknown": {
"title": "Verification Failed",
"message": "An unexpected error occurred during email verification. Please try again or contact our support team for assistance."
}
},
"security_notice": {
"title": "Security Enhancement",
"message": "We've upgraded our email verification system for better security. Old verification links are no longer valid to protect your account."
},
"actions": {
"request_new": "Request New Verification Email",
"contact_support": "Contact Support",
"back_to_dashboard": "Back to Dashboard"
},
"security_footer": "Your account security is our top priority. All verification attempts are logged for security monitoring."
},
"delete_modal": {
"label": "Delete",
"content": "Are you sure?",
"no": "No",
"yes": "Yes"
},
"new_course_modal": {
"live_class_label": "Live Class",
"live_class_subtitle": "Ideal for bootcamps where lessons are time based",
"self_paced_label": "Self Paced",
"self_paced_subtitle": "Best for courses where students can take lessons at their own pace",
"compliance_label": "Compliance",
"compliance_subtitle": "Recurring training with retakes, reminders, and renewal tracking",
"public_label": "Public",
"public_subtitle": "Free, no-signup course pages you can share publicly — great for lead gen"
},
"public_course": {
"header": {
"explore_courses": "Explore courses",
"sign_in": "Sign in"
},
"footer_nav": {
"previous": "Previous",
"next": "Next"
},
"powered_by": {
"label": "Powered by",
"brand": "ClassroomIO"
},
"exercise": {
"submit": "Check my answers",
"try_again": "Try again",
"practice_again": "Practice again",
"attempt_option": "Attempt {attemptNumber} - {correct}/{total}",
"attempts_select_aria": "Your attempts",
"privacy_hint": "Graded instantly in your browser — nothing is submitted.",
"summary_template": "You got [[correct]] / [[total]] correct."
}
},
"onboarding": {
"sell": "Sell courses online",
"teach": "Teach my current students online",
"expanding": "On another platform, expanding here",
"employees": "Train my employees",
"customers": "Create courses for my customers",
"explore": "Just here to explore",
"articles": "Articles",
"search": "Search engine",
"social": "Social media",
"friends": "Friends and family",
"fullname": "Full Name",
"name": "Name of Organization",
"organisation_sitename": "Academy subdomain",
"what_brings": "What brings you to",
"how": "How did you hear about us?",
"back": "Back",
"continue": "Continue"
},
"welcome_modal": {
"we_at": "We at",
"small_team": "are a small team with a large mission to empower educators with great software to help them make an impact in people's lives. Education is the most powerful gift you can give anyone, and it makes perfect sense to provide you with all the tools you need to give this GIFT to more people.",
"thank_you": "Thank you for choosing us",
"deeply_appreciate": "we deeply appreciate it and are at your service."
},
"app": {
"cancel": "Cancel",
"save": "Save",
"search": {
"placeholder": "Search",
"command_palette": {
"title": "Command palette",
"description": "Search and navigate across your organization",
"placeholder": "Search courses, cohorts, widgets, students, tags, settings...",
"org_placeholder": "Search courses, cohorts, widgets, students, tags, settings...",
"lms_placeholder": "Search your courses, cohorts, and learning pages...",
"lms_description": "Search and navigate your learning workspace",
"empty": "No results found",
"loading": "Searching...",
"clear_recents": "Clear recents",
"groups": {
"recent": "Recent",
"suggested": "Suggested",
"courses": "Courses",
"cohorts": "Cohorts",
"widgets": "Widgets",
"tags": "Tags",
"students": "Students",
"settings": "Settings"
},
"result_types": {
"page": "Page"
}
}
}
},
"common": {
"unsaved_changes": {
"message": "You have unsaved changes. Are you sure you want to leave?"
},
"refresh": "Refresh"
},
"compliance": {
"title": "Compliance",
"subtitle": "Track certification status across every compliance course in your organization.",
"summary": {
"heading": "Student status",
"description": "Counts across students in all compliance courses."
},
"tabs": {
"courses": "By course",
"learners": "Students"
},
"status": {
"compliant": "Compliant",
"expiring_soon": "Expiring soon",
"in_grace_period": "In grace period",
"non_compliant": "Non-compliant",
"in_progress": "In progress",
"not_started": "Not started",
"waived": "Waived",
"no_record": "No record"
},
"filter": {
"all": "All",
"compliant": "Compliant",
"expiring_soon": "Expiring soon",
"in_grace_period": "In grace",
"non_compliant": "Non-compliant",
"in_progress": "In progress",
"not_started": "Not started",
"waived": "Waived",
"no_record": "No record"
},
"courses": {
"heading": "Courses",
"description": "Compliance courses with student status counts",
"empty": "No compliance courses yet",
"course": "Course",
"learners": "Students",
"completion": "Completion"
},
"learners": {
"heading": "Students",
"subtitle": "{count, number} matching",
"empty": "No students match this filter",
"learner": "Student",
"course": "Course",
"status": "Status",
"due_date": "Due",
"expires": "Expires"
}
},
"login": {
"welcome": "Welcome back",
"email": "Your email",
"password": "Your password",
"forgot": "Forgot password?",
"login": "Log In",
"login_with": "or login with",
"signup_with": "or sign up with",
"already_have_account": "Already have an account?",
"not_registered_yet": "Not registered yet?",
"signup": "Sign up",
"signup_with_google": "Sign up with Google",
"login_with_google": "Login with Google",
"create_to_join": "Create a free account to join",
"create_account": "Create Account",
"login_to_join": "Log in to join",
"fields": {
"email": "Your Email",
"full_name": "Full Name",
"password": "Your Password",
"confirm_password": "Confirm Password",
"password_helper_message": "Password must be more than 8 characters",
"create_account": "Create Account"
},
"validation": {
"unable_to_create_profile": "Unable to create profile",
"user_cannot_be_created": "User cannot be created"
},
"signup_disabled": {
"title": "Signup Disabled",
"invite_only_message": "Signup is invite-only. Please use an invite link to create an account.",
"go_to_login": "Go to Login"
}
},
"profileMenu": {
"profile": "PROFILE",
"current_org": "CURRENT ORGANIZATION",
"free_tools": "FREE TOOLS",
"progress": "Progress report",
"timer": "Activity timer",
"tic_tac": "Tictac toe",
"see_more": "See more",
"whats_new": "What's new",
"feedback": "Feedback",
"documentation": "Documentation",
"need_help": "Need help?"
},
"settings": {
"heading": "Settings",
"subheadings": {
"view_site": "Open Academy"
},
"tabs": {
"profile_tab": "Profile",
"notifications_tab": "Notifications",
"organization_tab": "Organization",
"landing_page_tab": "Landing Page",
"billing_tab": "Billing",
"ai_credits_tab": "AI Credits",
"ai_tutor_tab": "AI Tutor",
"integrations_tab": "Integrations",
"language_tab": "Language",
"auth_tab": "Authentication",
"sso_tab": "SSO",
"token_auth_tab": "Token Auth",
"customize_lms_tab": "Customize LMS",
"domains_tab": "Domains",
"teams_tab": "Teams"
},
"profile": {
"page_subtitle": "Your name, email, and how you appear wherever you work in ClassroomIO.",
"profile_picture": {
"heading": "Profile Picture",
"upload_image": "Upload Image",
"file_size": "Max file size:",
"accepted": "Accepted:",
"validation_error": "File size exceeds the maximum limit:"
},
"personal_information": {
"heading": "Personal Information",
"full_name": "Full Name",
"username": "Username",
"email": "Email",
"confirm": "Confirm",
"cancel": "Cancel",
"email_change_verification_note": "A verification email has been sent to your current email address. The new email will not be in effect until you accept the verification email.",
"email_change_verification_sent": "A verification email has been sent to your new email address. Please check your inbox to verify your new email address."
},
"heading": "Profile",
"update_profile": "Update Profile",
"logout": "Log out"
},
"notifications": {
"heading": "Notifications",
"page_title": "Notifications",
"page_subtitle": "Choose which email notifications you receive and, as an admin, which emails your organization sends.",
"personal": {
"heading": "Your email preferences",
"description": "These apply to emails sent to you across every organization you belong to. Your organization may still disable certain emails for everyone.",
"save": "Save personal preferences",
"save_success": "Personal notification preferences saved"
},
"org": {
"heading": "Organization defaults",
"description": "When disabled here, nobody in your organization receives that email. Members can still opt out of emails you leave enabled.",
"save": "Save organization defaults",
"save_success": "Organization notification defaults saved"
},
"sections": {
"course": {
"heading": "Course",
"description": "Enrollments, submissions, lessons, announcements, and completions in your courses."
},
"cohort": {
"heading": "Cohort",
"description": "Reminders about cohort learning goals and deadlines."
},
"enrollment": {
"heading": "Enrollment",
"description": "Welcome emails sent when staff add members to courses or cohorts."
}
},
"toggles": {
"newStudent": {
"label": "New student joins",
"description": "Email tutors when a student enrolls in a course."
},
"newSubmission": {
"label": "New submissions to grade",
"description": "Email tutors when a student submits work that needs grading."
},
"gradingResult": {
"label": "Grading results",
"description": "Email students when their submission is graded or updated."
},
"newsfeed": {
"label": "Course announcements and comments",
"description": "Email course members about new posts and comments on the newsfeed."
},
"quizAssigned": {
"label": "Exercise assigned",
"description": "Email students when an exercise is assigned or nudged."
},
"cohortReminder": {
"label": "Cohort goal reminders",
"description": "Email students about upcoming or overdue cohort learning goals."
},
"session": {
"label": "Live session reminders and updates",
"description": "Email students before live sessions and when session details change."
},
"enrollmentWelcome": {
"label": "Enrollment welcome emails",
"description": "Send welcome emails when staff enroll students in courses or cohorts."
},
"courseCompletion": {
"label": "Course completion and certificates",
"description": "Email students when they complete a course and earn a certificate."
}
}
},
"organization": {
"page_subtitle": "Set the name, logo, and theme students see for this organization.",
"organization_profile": {
"heading": "Organization",
"organization_name": "Organization Name",
"upload_image": "Upload Image",
"update_organization": "Update Organization",
"theme": {
"heading": "Theme",
"sub_heading": "Set your brand color",
"custom_theme": "Custom Theme",
"add_theme": "Add Theme"
},
"customize_lms": {
"heading": "Customize LMS",
"sub_heading": "Personalize Your Organization LMS",
"body": "Control your students learning experience. You can enable or disable tabs and pages, update LMS banner and in-app comments to your organization requirements",
"button": "Customize LMS"
},
"custom_domain": {
"heading": "Custom Domain",
"sub_heading": "Customise your Domain",
"body": "Create a custom URL so your audience can get to your organization easily",
"button": "Edit domain"
},
"team": {
"heading": "Team",
"sub_heading": "Set up your team",
"body": "Add team mates to your organization so you can both collaborate on projects.",
"button": "Manage Team"
}
}
},
"token_auth": {
"heading": "Token Auth",
"description": "Let users sign in from your app with a JWT—no password needed. Generate a signing secret and use it in your backend to issue short-lived JWTs.",
"status": "Status",
"active": "Active",
"inactive": "Inactive",
"secret_last4": "Secret (last 4):",
"created_at": "Created",
"generate": "Generate secret",
"rotate": "Rotate secret",
"delete": "Remove token auth",
"delete_confirm": "Are you sure you want to remove token auth? This action cannot be undone.",
"activate": "Enable",
"deactivate": "Disable",
"secret_shown_once": "Save this secret now. It won't be shown again.",
"integration_guide": "Integration guide",
"integration_description": "Sign a JWT with the secret and redirect users to the token-exchange URL.",
"no_config": "No token auth configured. Generate a signing secret to get started.",
"actions_menu": "Token auth actions"
},
"teams": {
"page_subtitle": "Invite teammates and control who helps run this organization."
},
"auth": {
"page_subtitle": "Control sign-up, login, SSO, and token-based access for this org.",
"title": "Authentication",
"tabs": {
"general": "General",
"sso": "SSO",
"token_auth": "Token Auth"
},
"login": {
"or_continue_with": "Or continue with email and password",
"sso_enabled": "{provider} is enabled for this organization",
"sso_redirect_error": "SSO sign-in is misconfigured. Please set PUBLIC_SERVER_URL to your API server.",
"sso_required": "Please sign in with SSO. Password login is disabled.",
"sign_in_with_sso": "Sign in with {provider}",
"email_password_disabled": "Email/password login is disabled. Please use SSO.",
"email_password_disabled_message": "Email/password login is disabled for this organization.",
"google_auth_disabled": "Google authentication is disabled.",
"signup_disabled_error": "Signup is disabled for this organization. Please contact your administrator."
},
"general": {
"heading": "Authentication Settings",
"description": "Control how users can sign up and log in to your organization.",
"allow_public_signups": {
"label": "Allow public signups",
"description": "When disabled, only users with an invite link can sign up. Enable to allow anyone to create an account."
},
"disable_signup": {
"label": "Disable Signup",
"description": "Prevent new users from signing up. Only invited users can join."
},
"disable_signup_message": {
"label": "Signup Disabled Message",
"description": "Custom message shown to users when signup is disabled.",
"placeholder": "e.g., Signups are disabled, please contact [email protected] to get access"
},
"disable_email_password": {
"label": "Disable Email/Password Login",
"description": "Require users to sign in with SSO or social providers."
},
"disable_google_auth": {
"label": "Disable Google Auth",
"description": "Prevent users from signing in with Google accounts."
},
"save_button": "Save Changes",
"note_title": "Note",
"note_description": "These settings only affect this organization. Admins can always sign in using their credentials for break-glass access.",
"internal_enrollment_only": {
"label": "Internal Enrollment Only",
"description": "When enabled, any published course is open for self-enrollment to all students in your organization. Use with Disable Signup to create a closed, invite-only academy where students can join any published course without per-course setup."
}
},
"sso": {
"connection": {
"heading": "SSO Connection",
"description": "Manage your SSO connection status",
"active": "Active",
"inactive": "Inactive",
"activate_button": "Activate Connection",
"delete_button": "Delete",
"delete_confirm": "Are you sure you want to delete this SSO connection?",
"callback_url_label": "Callback URL:",
"callback_url_description": "Copy this URL to your IdP's callback/redirect URL configuration."
},
"policies": {
"heading": "Access Policies",
"description": "Configure how users access your organization",
"force_sso": {
"label": "Force SSO",
"description": "Require all users to sign in via SSO. Email/password login will be disabled."
},
"auto_join": {
"label": "Auto-join",
"description": "Allow users with matching email domains to automatically join your organization."
},
"break_glass": {
"label": "Break-glass Access",
"description": "Allow admins to bypass SSO with email/password in case of emergency."
}
},
"setup": {
"heading": "Setup SSO",
"description": "Configure Single Sign-On for your organization. This feature requires an Enterprise plan.",
"provider_label": "Provider",
"display_name_label": "Display Name",
"display_name_placeholder": "e.g., Acme Corp SSO",
"issuer_label": "Issuer URL",
"issuer_placeholder": "https://accounts.google.com",
"issuer_help": "OIDC issuer (no trailing slash). Examples: Google Workspace — https://accounts.google.com; Okta — https://your-org.okta.com; Azure AD — https://login.microsoftonline.com/your-tenant-id/v2.0",
"domain_label": "Email Domain",
"domain_placeholder": "yourcompany.com",
"client_id_label": "Client ID",
"client_id_placeholder": "From your IdP",
"client_secret_label": "Client Secret",
"client_secret_placeholder": "From your IdP",
"create_button": "Create Connection",
"providers": {
"okta": "Okta",
"google_workspace": "Google Workspace",
"auth0": "Auth0"
}
},
"messages": {
"created": "SSO connection created successfully",
"activated": "SSO connection activated",
"deleted": "SSO connection deleted"
}
}
},
"landing_page": {
"page_subtitle": "Shape the marketing page people see before they sign up or enroll.",
"heading": "Landing Page",
"save_changes": "Save Changes",
"show_section": "Show Section",
"hide_section": "Hide Section",
"theme": {
"heading": "Choose a Theme",
"description": "Pick the visual style visitors see on your public landing page.",
"cards": {
"minimal": {
"title": "Minimal",
"description": "Clean, bright, and course-focused"
},
"bold": {
"title": "Bold",
"description": "High contrast, editorial, and striking"
},
"classic": {
"title": "Classic",
"description": "Traditional layout with balanced hierarchy"
},
"saas": {
"title": "SaaS",
"description": "Dotted line frame, soft accents, modern product feel"
},
"tech": {
"title": "Tech",
"description": "Bold brand band, monospace nav, engineering academy feel"
},
"studio": {
"title": "Studio",
"description": "Hairline borders, gradient hero glow, product-craft polish"
},
"corporate": {
"title": "Corporate",
"description": "Sober typography, bordered grids, audit-ready look"
},
"terminal": {
"title": "Terminal",
"description": "Dark surface, ghosted wordmark, CLI-inspired catalog"
},
"editorial": {
"title": "Editorial",
"description": "Warm cream palette, painterly hero, refined magazine feel"
},
"vibrant": {
"title": "Vibrant",
"description": "Bold primary panels, sunset gradient hero, energetic poster look"
}
}
},
"content": {
"heading": "Edit Content",
"description": "Update the hero, navigation, links, embed, and footer that appear in every theme.",
"edit": "Edit Content"
},
"current": {
"title": "Current theme",
"description": "This is the theme your visitors see. Customize the content or pick a different look below.",
"field_theme": "Theme",
"field_hero": "Hero heading",
"field_nav": "Navigation",
"field_nav_count_one": "{count} link",
"field_nav_count_other": "{count} links",
"hero_empty": "—",
"customize": "Customize landing page"
},
"gallery": {
"heading": "Popular themes",
"description": "Made with core features you can easily customize — no coding needed.",
"by_classroomio": "by ClassroomIO",
"add": "Add",
"upgrade": "Upgrade",
"apply_theme": "Apply Theme",
"preview": "Preview",
"card_menu_label": "Theme options"
},
"preview_tabs": {
"label": "Preview page",
"home": "Home",
"course": "Course"
},
"editor": {
"save": "Save",
"close": "Close",
"page_builder": "Page Builder",
"sections": {
"hero": "Hero",
"hero_desc": "Headline, action buttons, and the hero image.",
"navigation": "Navigation",
"navigation_desc": "Links shown in the landing page header.",
"callout": "Callout",
"callout_desc": "Optional promotional banner shown after courses.",
"embed": "Embed",
"embed_desc": "Optional iframe section shown after courses.",
"links": "Links",
"links_desc": "Optional block of external links (help center, community, webinars) shown after courses.",
"footer": "Footer",
"footer_desc": "Brand line, socials, multi-column links, and bottom legal row."
},
"hero": {
"heading": "Heading",
"subheading": "Subheading",
"primary_label": "Primary Button Label",
"primary_href": "Primary Button Link",
"secondary_toggle": "Show secondary action",
"secondary_label": "Secondary Button Label",
"secondary_href": "Secondary Button Link",
"image": "Hero Image",
"upload": "Upload Image",
"clear": "Clear Image",
"stats": {
"label": "Stats",
"description": "Optional stats displayed alongside the hero (used by templates that support it, e.g. Corporate).",
"add": "Add stat",
"remove": "Remove stat",
"label_field": "Label",
"value_field": "Value",
"label_placeholder": "Active students",
"value_placeholder": "1,200"
}
},
"navigation": {
"add": "Add Navigation Link",
"default_label": "New link",
"link_label": "Link label",
"link_href": "Link URL",
"remove": "Remove navigation link"
},
"callout": {
"toggle": "Show callout section",
"heading": "Heading",
"heading_default": "Ready to start learning?",
"heading_placeholder": "Enter a heading",
"description": "Description",
"description_placeholder": "Add a short description or leave empty",
"action_label": "Button label",
"action_label_default": "Get Started",
"action_label_placeholder": "Button text",
"action_href": "Button link",
"action_href_placeholder": "https://..."
},
"embed": {
"toggle": "Show embed section",
"title": "Section title",
"title_placeholder": "Section title",
"description": "Description",
"description_placeholder": "Optional description",
"code": "Embed code",
"code_placeholder": "Paste embed code here",
"code_description": "Paste the full embed snippet or iframe code.",
"secondary_label": "Secondary Button Label",
"secondary_href": "Secondary Button Link"
},
"links": {
"toggle": "Show links section",
"heading": "Section heading",
"heading_default": "Explore more",
"heading_placeholder": "Explore more",
"description": "Description",
"description_placeholder": "Optional description",
"bold_visit_label": "Bold theme — button label",
"bold_visit_default": "Visit",
"classic_learn_more_label": "Classic theme — link label",
"classic_learn_more_default": "Learn more",
"card_title": "Card title",
"card_title_placeholder": "e.g. Help Center",
"card_placeholder_help": "Help Center",
"card_placeholder_webinars": "Webinars",
"card_placeholder_community": "Community",
"card_description": "Card description",
"card_description_placeholder": "e.g. Browse guides and FAQs",
"card_href": "Link URL",
"card_href_placeholder": "https://...",
"card_icon": "Icon",
"add_card": "Add link card",
"remove_card": "Remove card",
"max_reached": "Up to 3 cards",
"icons": {
"help_circle": "Help & support",
"life_buoy": "Support",
"book_open": "Documentation",
"video": "Video / webinars",
"users": "Community",
"message_circle": "Chat",
"newspaper": "News",
"rocket": "Get started",
"calendar": "Events",
"mail": "Email"
}
},
"footer": {
"text": "Footer text",
"add": "Add Footer Link",
"default_label": "New link",
"link_label": "Link label",
"link_href": "Link URL",
"remove": "Remove footer link",
"brand": {
"legend": "Brand",
"description": "Your organization logo and name always appear here (from organization settings). Add optional details below.",
"preview_label": "Footer brand preview",
"tagline": "Tagline",
"tagline_placeholder": "Small line under your brand",
"copyright": "Copyright",
"copyright_placeholder": "© 2026 Your Organization",
"social_label": "Social links",
"platform_field": "Platform",
"url_label": "Profile URL",
"add_social": "Add social link",
"remove_social": "Remove social link",
"platforms": {
"instagram": "Instagram",
"x": "X",
"linkedin": "LinkedIn",
"facebook": "Facebook",
"youtube": "YouTube",
"github": "GitHub",
"tiktok": "TikTok",
"website": "Website"
}
},
"columns": {
"legend": "Link columns",
"description": "Add grouped links (like Company or Resources). Enables a multi-column footer layout.",
"empty_hint": "No columns yet — add one to show a multi-column footer beside your brand.",
"add": "Add column",
"remove": "Remove column",
"heading_label": "Column heading",
"heading_placeholder": "e.g. Company",
"add_link": "Add link",
"remove_link": "Remove link",
"links_max_reached": "Up to 10 links per column",
"cta_toggle": "Add CTA link",
"cta_label": "CTA label",
"cta_href": "CTA URL",
"cta_default_label": "Explore more",
"max_reached": "Up to 6 columns"
},
"bottom": {
"legend": "Bottom row",
"add_link": "Add bottom link"
}
}
},
"title": "Title",
"title_highlight": "Title-Highlight",
"subtitle": "Subtitle",
"background": {
"title": "Background Image",
"show_background": "Show background",
"hide_background": "Hide background"
},
"actions": {
"heading": "Actions",
"label": "Label",
"link": "Link",
"no_redirect": "No redirect",
"redirect": "Redirect",
"banner_type": {
"heading": "Banner Type",
"video": "Video",
"image": "Image"
},
"show_banner": "Show banner",
"hide_banner": "Hide banner"
},
"about": {
"heading": "About",
"title": "Title",
"content": "Content",
"upload_an_image": "Upload an image",
"select_image": "Select Image"
},
"courses": {
"heading": "Courses",
"show_section": "Show Section",
"hide_section": "Hide Section",
"title": "Title",
"title_highlight": "Title-Highlight",
"subtitle": "Subtitle"
},
"faq": {
"heading": "Frequently Asked Questions",
"show_section": "Show Section",
"hide_section": "Hide Section",
"title": "Title",
"question": "Question",
"answer": "Answer",
"button": "Add New Faq",
"save": "Save",
"cancel": "Cancel"
},
"contact_us": {
"heading": "Contact us",
"show_section": "Show Section",
"hide_section": "Hide Section",
"title": "Title",
"title_highlight": "Title-Highlight",
"subtitle": "Subtitle",
"phone_number": "Phone Number",
"email": "Email",
"address": "Address"
},
"mailing_list": {
"heading": "Mailing List",
"show_section": "Show Section",
"hide_section": "Hide Section",
"title": "Title",
"subtitle": "Subtitle",
"button_label": "Button-label"
},
"footer": {
"heading": "Footer",
"show_section": "Show Section",
"hide_section": "Hide Section",
"facebook": "Facebook",
"twitter": "Twitter",
"linkedin": "LinkedIn"
},
"custom_links": {
"heading": "Custom Links",
"hide_links": "Hide Links",
"show_links": "Show Links",
"description": "Add custom navigation links that will appear in the header navigation bar.",
"label": "Label",
"url": "URL",
"label_placeholder": "e.g., About Us",
"url_placeholder": "e.g., #about-us or https://example.com",
"new_tab": "Open in new tab",
"save": "Save",
"cancel": "Cancel",
"add": "Add New Link"
}
},
"integrations": {
"page_subtitle": "Connect Telegram to get notified when important things happen.",
"heading": "Telegram",
"sub_heading": "Connect your account to telegram to get notified of any change within the application.",
"step_authenticate": "Step 1: Authenticate your account via the ClassroomIO bot.",
"open_bot_button": "Open Bot",
"step_chatId": "Step 2: Enter the Chat ID given to you by the bot.",
"connect_button": "Connect",
"success_message": "Integration Successful",
"disconnect": "Disconnect"
},
"billing": {
"page_subtitle": "Your plan, billing portal, and how you pay for ClassroomIO.",
"sub_title": "Billing details",
"manage": "Manage your billing",
"active": "You don't have any active billing",
"provider": "We use Polar to help manage your billing",
"open_billing": "Open billing",
"error": "An error occurred while opening billing"
},
"ai_credits": {
"sub_title": "AI credits",
"page_subtitle": "Track AI assistant usage, team consumption, and purchase AI credit packs.",
"cost_note": "Credit usage is weighted by model cost. Gemini 3.1 Flash Lite counts as 1 credit unit per token. GPT-5.4 Mini and Kimi K2.6 count as 4× per token. Claude Sonnet 4.6 counts as 11× per token, reflecting its higher API cost.",
"included": {
"title": "Your included usage",
"subtitle": "Monthly AI credits included with your plan.",
"resets_on": "Resets {date}"
},
"purchased": {
"title": "Purchased usage",
"subtitle": "Extra AI credits you bought roll over until used.",
"lifetime": "{tokens} credits purchased · ${dollars} spent",
"buy_more": "Buy more"
},
"chart": {
"heading": "Usage",
"subheading": "Daily AI credits consumption this month.",
"tokens": "Credits",
"total_tokens": "Total credits",
"total_requests": "Total requests",
"empty": "No usage recorded this month yet."
},
"leaderboard": {
"title": "Team usage",
"this_month": "Current month",
"user": "User",
"favorite_model": "Favorite model",
"tokens": "Credits",
"empty": "Nobody on your team has used the AI assistant this month."
},
"buy_tokens": {
"title": "Buy more credits",
"description": "Each pack adds 5,000,000 credits for $5 USD. Choose how many packs you need.",
"quantity_hint": "packs",
"preview": "{quantity} pack(s) · {tokens} credits · ${dollars}",
"buy_button": "Buy for ${dollars}"
}
}
},
"hls_upload": {
"stage": {
"probing": "Reading video…",
"encoding": "Encoding video…",
"uploading": "Uploading…",
"thumbnail": "Generating thumbnail…",
"finalizing": "Saving…",
"done": "Ready",
"failed": "Upload failed"
},
"error": {
"webcodecs_unsupported": "Your browser does not support hardware video encoding. Use a recent version of Chrome, Edge, or Safari.",
"encode_failed": "Encoding failed. Try a different source file or refresh and try again.",
"upload_failed": "Failed to upload a video segment. Check your connection and retry.",
"finalize_failed": "Failed to save the uploaded video."
},
"rungs": {
"p360": "360p",
"p720": "720p",
"p1080": "1080p"
}
},
"media_manager": {
"page_title": "Media Manager - ClassroomIO",
"heading": "Media Manager",
"page_subtitle": "Keep files, videos, and links for your courses in one library.",
"empty": "No assets found",
"empty_description": "The asset does not exist or is not available in this organization.",
"common": {
"not_available": "N/A"
},
"storage": {
"total_bytes": "Total Storage",
"internal_bytes": "Internal Storage",
"external_assets": "External Assets",
"bytes_by_kind": "Storage by Asset Type"
},
"filters": {
"search_placeholder": "Search assets",
"apply": "Apply",
"refresh": "Refresh",
"kind_options": {
"all": "All types",
"video": "Video",
"document": "Document",
"image": "Image",
"audio": "Audio",
"other": "Other"
},
"status_options": {
"all": "All statuses",
"active": "Active",
"archived": "Archived"
}
},
"kind": {
"video": "Video",
"document": "Document",
"image": "Image",
"audio": "Audio",
"other": "Other"
},
"provider": {
"upload": "Upload",
"youtube": "YouTube",
"generic": "Generic",
"external_url": "External URL",
"google_drive": "Google Drive"
},
"status": {
"active": "Active",
"archived": "Archived"
},
"table": {
"title": "Title",
"kind": "Type",
"provider": "Provider",
"status": "Status",
"size": "Size",
"updated_at": "Updated",
"actions": "Actions"
},
"actions": {
"edit": "Edit",
"where_used": "Where used",
"download": "Download",
"manage_thumbnails": "Manage thumbnails",
"delete": "Delete"
},
"delete": {
"title": "Delete video",
"irreversible_title": "This cannot be undone",
"irreversible_description": "This video and all of its files — renditions, thumbnails, and captions — will be permanently deleted and cannot be recovered.",
"in_use_title": "Still in use",
"in_use_description": "This video is attached to the lessons below. Open each lesson, remove the video there, then come back to delete it.",
"confirm": "Delete permanently",
"cancel": "Cancel",
"close": "Close"
},
"pagination": {
"previous": "Previous",
"next": "Next",
"page": "Page"
},
"edit": {
"title": "Edit Asset",
"description": "Update media metadata for this asset.",
"cancel": "Cancel",
"save": "Save Changes"
},
"form": {
"file_name": "File Name",
"description": "Description",
"description_placeholder": "Add an optional description",
"thumbnail_url": "Thumbnail URL",
"thumbnail_url_placeholder": "https://example.com/thumbnail.jpg",
"thumbnail_upload": "Upload Thumbnail",
"thumbnail_drop_label": "Drop image here or click to upload",
"thumbnail_drop_size": "Up to 5 MB",
"thumbnail_preview": "Thumbnail Preview",
"thumbnail_alt": "Asset thumbnail",
"status": "Status"
},
"thumbnails": {
"manage_title": "Manage thumbnails",
"manage_description": "Preview the video, pick one of the auto-generated frames, or upload your own.",
"preview_unavailable": "Preview unavailable",
"generated": "Generated thumbnails",
"slot_start": "Start",
"slot_middle": "Middle",
"slot_end": "End",
"none_generated_warning": "No thumbnails generated yet. Try regenerating or upload a custom image.",
"upload_custom": "Upload custom thumbnail",
"custom_selected_hint": "Custom upload will be saved when you save your selection.",
"custom_preview_alt": "Custom thumbnail preview",
"regenerate": "Regenerate",
"save_selection": "Save thumbnail"
},
"usage": {
"title": "Where Used",
"description": "Current usage references for",
"loading": "Loading usage details...",
"empty": "This asset is not attached anywhere yet.",
"total": "Total usages:",
"go_to_lesson": "Go to lesson",
"refresh": "Refresh usage",
"target": {
"lesson": "Lesson",
"exercise": "Exercise",
"question": "Question",
"unknown": "Unknown"
},
"slot_type": {
"lesson_video": "Lesson video",
"lesson_document": "Lesson document",
"unknown": "Attachment"
},
"table": {
"target_type": "Target Type",
"target_id": "Target ID",
"slot": "Slot",
"position": "Position",
"added": "Added"
}
}
},
"tags_admin": {
"page_title": "Tags - ClassroomIO",
"heading": "Tags",
"page_subtitle": "Organize courses with labels so filters and lists stay easy to scan.",
"create": "Create",
"common": {
"not_available": "N/A"
},
"actions": {
"create_tag": "Create Tag",
"create_group": "Create Tag Group",
"actions_menu": "Tag actions",
"edit_group": "Edit Group",
"edit_tag": "Edit Tag",
"save": "Save",
"cancel": "Cancel"
},
"table": {
"tag": "Tag",
"total_courses": "Total Courses",
"course": "course",
"courses": "courses",
"description": "Description",
"category": "Category",
"action": "Action",
"empty_group": "No tags in this group yet"
},
"empty": {
"title": "No tag groups yet",
"description": "Create a tag group first, then start adding tags."
},
"group_modal": {
"create_title": "Create Tag Group",
"edit_title": "Edit Tag Group",
"name": "Group Name",
"description": "Description",
"description_placeholder": "Optional description"
},
"tag_modal": {
"create_title": "Create Tag",
"edit_title": "Edit Tag",
"name": "Tag Name",
"description": "Description",
"description_placeholder": "Optional description",
"category": "Category",
"color": "Color",
"color_help": "Pick one of 10 colors",
"select_category": "Select a category",
"no_groups": "Create a tag group before creating tags"
}
},
"public_courses": {
"page_title": "Courses - ClassroomIO",
"heading": "Courses",
"subtitle": "Browse all published courses",
"clear_filters": "Clear Filters",
"filters": {
"title": "Filter",
"help": "Filter courses by type, tags, or search by name",
"tags_title": "Tags",
"types_title": "Types",
"pricing_title": "Pricing",
"pricing_free": "Free",
"pricing_paid": "Paid",
"empty": "No tags available yet",
"search_placeholder": "Search courses..."
},
"empty": {
"title": "No courses found",
"description": "Try clearing your filters or check back later."
},
"catalog_empty": {
"title": "No courses published yet",
"description": "Check back soon for new courses."
}
},
"org_navigation": {
"platform": "Platform",
"home": "Home",
"content": "Content",
"people": "People",
"dashboard": "Dashboard",
"stats": "Stats",
"analytics": "Analytics",
"compliance": "Compliance",
"courses": "Courses",
"tags": "Tags",
"community": "Community",
"audience": "Audience",
"media": "Media",
"widgets": "Widgets",
"setup": "Setup",
"automation": "Automation",
"help": "Help",
"settings": "Settings",
"early_adopter": "Become an Early Adopter",
"unlock": "Unlock unlimited features and invest in our future",
"upgrade": "Upgrade Now",
"upgrade_now": "Upgrade now",
"upgrade_students": "{studentCount} of {studentLimit} students",
"upgrade_left": "{count} left",
"cohorts": "Cohorts"
},
"pricing": {
"plan_names": {
"free": "Free",
"early": "Early Adopter",
"enterprise": "Enterprise"
},
"modal": {
"heading": "Upgrade Plan",
"thanks": "Thank you for your support",
"plan": "Your plan comes with cool perks and benefits including access to all future features we release.",
"save": "Save 2 months",
"close": "Close",
"learn": "Learn more",
"month": "month",
"monthly": "Monthly",
"annually": "Annually",
"popular": "Popular",
"per_org": "Per Organization"
}
},
"widgets": {
"heading": "Widgets",
"subtitle": "Publish branded course collections for external websites.",
"empty_state": "No widgets yet. Create one to generate an embeddable course block.",
"empty": {
"heading": "No widgets yet",
"description": "Create a widget to generate an embeddable course block for external websites."
},
"defaults": {
"name_prefix": "Course Widget"
},
"tabs": {
"select_courses": "Select Courses",
"layout": "Layout",
"design": "Design",
"embed": "Embed Code"
},
"editor": {
"sources": "Widget Source",
"available_courses": "Available Courses",
"layout": "Layout",
"content": "Content",
"design": "Design",
"version_history": "Version History",
"save_changes": "Save changes",
"rename_widget": "Rename widget",
"continue_to_layout": "Continue to layout",
"pick_layout": "Choose a layout",
"pick_design": "Appearance",
"panel_subtitle": "Configure how your widget looks and behaves.",
"embed_share": "Embed & share",
"discard_short": "Discard",
"canvas_status": "Preview",
"viewport": {
"mobile": "Mobile",
"tablet": "Tablet",
"desktop": "Desktop"
},
"finish_editing_name": "Done",
"waiting_org": "Loading organization…",
"load_failed": "Could not load this widget. Try again from the widgets list.",
"nav": {
"courses": "Courses",
"layout": "Layout",
"design": "Design",
"embed": "Embed"
}
},
"selection": {
"manual": "Manual selection",
"published": "All published courses"
},
"layout": {
"card_grid": "Card grid",
"tag_filter": "Tag filter",
"carousel": "Carousel",
"primary_course": "Primary course",
"compact_list": "Compact list",
"editorial_spotlight": "Editorial spotlight",
"category_shelf": "Category shelf"
},
"layout_description": {
"card_grid": "General-purpose catalog with lots of breathing room.",
"tag_filter": "Let students narrow down a wide catalog by topic.",
"carousel": "Featured rows in tight homepage sections.",
"primary_course": "Promote a flagship or newly launched course.",
"compact_list": "Sidebar embeds and minimal-footprint pages.",
"editorial_spotlight": "Blog-style landing pages and curated picks.",
"category_shelf": "Large catalogs grouped by topic, easy to scan."
},
"layoutOptions": {
"section": "Layout options",
"columns": "Columns",
"max_count": "Max courses",
"show_rating": "Show rating",
"tag_source": "Tag source",
"tag_source_auto": "Auto from courses",
"tag_source_manual": "Manual selection",
"default_tag": "Default tag",
"show_all_option": "Show \"All\" option",
"visible_cards": "Visible cards",
"auto_play": "Auto play",
"auto_play_interval": "Auto play interval (ms)",
"show_dots": "Show dots",
"show_arrows": "Show arrows",
"loop": "Loop",
"featured_course": "Featured course",
"featured_course_required": "A featured course is required for this layout.",
"main_course": "Main spotlight course",
"main_course_required": "Pick a course to spotlight.",
"eyebrow_label": "Eyebrow label",
"cta_label": "CTA label",
"secondary_max_count": "Secondary courses",
"density": "Density",
"density_comfortable": "Comfortable",
"density_compact": "Compact",
"show_thumbnail": "Show thumbnail",
"show_tags": "Show tags",
"title_style": "Title style",
"title_style_serif": "Serif",
"title_style_sans": "Sans",
"category_tags": "Category tags",
"category_tags_required": "Select at least one tag for the category shelf.",
"default_category": "Default category",
"show_all_tab": "Show \"All\" tab",
"max_per_category": "Max courses per category",
"none": "None"
},
"sort": {
"manual": "Manual",
"newest": "Newest",
"title": "Title"
},
"status": {
"draft": "Draft",
"published": "Published",
"archived": "Archived",
"live": "Live"
},
"plan": {
"free": "Free plan",
"paid": "Paid plan"
},
"preview": {
"heading": "Preview",
"saved": "Saved",
"unsaved": "Unsaved changes",
"load_failed": "Preview could not load. Try refreshing the page.",
"empty": "Preview unavailable.",
"all_tags": "All",
"none": "None",
"lessons_suffix": "lessons",
"last_synced": "Synced",
"refresh": "Refresh",
"columns": {
"course": "Course",
"lessons": "Lessons",
"tags": "Tags"
},
"exercises_suffix": "exercises"
},
"actions": {
"create": "Create Widget",
"edit": "Edit",
"back": "Back to widgets",
"save": "Save",
"discard": "Discard changes",
"publish": "Publish",
"archive": "Archive",
"restore": "Restore",
"copy_embed": "Copy embed",
"copy_url": "Copy URL",
"rename": "Rename",
"delete": "Delete"
},
"embed": {
"tabs": {
"html": "HTML",
"url": "URL"
},
"url_label": "Hosted embed URL",
"url_helper": "Use this URL on platforms like Notion or Confluence that only accept a link."
},
"create": {
"description": "Give your widget a name to get started."
},
"form": {
"name": "Widget name",
"selection_mode": "Selection mode",
"course_search": "Search courses",
"layout_type": "Layout type",
"sort_by": "Sort by",
"cta_label": "CTA label",
"load_more_label": "Load more label",
"limit_courses": "Limit courses",
"max_count": "Max course count",
"show_course_image": "Show course image",
"show_type_badge": "Show course type badge",
"show_lessons_count": "Show lessons count",
"show_description": "Show description excerpt",
"shorten_long_description": "Shorten long description",
"show_price": "Show price",
"show_rating": "Show rating",
"theme_preset": "Theme preset",
"primary_color": "Primary color",
"background_color": "Background color",
"text_color": "Text color",
"border_color": "Border color",
"border_radius": "Border radius",
"font_family": "Font family",
"font_scale": "Font size scale",
"show_powered_by": "Show Classroomio branding",
"custom_css": "Custom CSS",
"custom_css_locked": "Upgrade to enable custom CSS.",
"custom_css_hint": "Max 5,000 characters.",
"border_radius_hint": "0 – 32 px.",
"font_scale_hint": "0.8 – 1.4 (1 = default).",
"embed_code": "Embed code"
},
"notifications": {
"created": "Widget created",
"saved": "Widget saved",
"published": "Widget published",
"rolled_back": "Widget restored",
"deleted": "Widget archived",
"validation_failed": "Some fields are invalid. Check the highlighted inputs."
},
"filter": {
"status": "Status",
"all": "All",
"unpublished": "Unpublished",
"course_type": "Course Type"
}
},
"setup": {
"your_checklist": "Your Checklist",
"get_started": "Get Started",
"description": "Complete these steps to set up your learning platform",
"progress": "Progress",
"completed": "completed",
"done": "Done",
"todo": "Todo",
"personal_profile": {
"title": "Upload a profile picture and update username",
"desc": "Personalize and add a human touch making interactions more personal and memorable",
"button_label": "Update Profile"
},
"organization_profile": {
"title": "Update organisation profile picture",
"desc": "Establish a professional and recognizable identity for your organization",
"button_label": "Update Org Profile"
},
"course": {
"title": "Create Course",
"desc": "Create a course that you will share with your students",
"button_label": "Create Course"
},
"lesson": {
"title": "Create a lesson",
"desc": "Break your course into lesson that your students can easily understand",
"button_label": "Create Lesson"
},
"exercise": {
"title": "Create an exercise",
"desc": "Test your students allow them to demonstarte their understanding of the subject matter",
"button_label": "Create Assignment"
},
"publish_course": {
"title": "Publish a course",
"desc": "Make your course public and purchaseable",
"button_label": "Publish Course"
}
},
"add_org": {
"create_org": "Create Organization",
"name": "Name of Organization",
"org_sitename": "Academy subdomain",
"create": "Create",
"sitename": "Academy subdomain already exists",
"error_organization": "Something went wrong while creating this organization. Please reload and try again"
},
"navigation": {
"goto": "Go to",
"courses": "Courses",
"home": "Home",
"classroomio_home": "ClassroomIO Home",
"dashboard": "Dashboard",
"discussion": "Discussion",
"people": "People",
"goto_lms": "Go to LMS",
"goto_dashboard": "Dashboard",
"goto_home": "Go to ClassroomIO Home",
"login": "Login",
"signup": "Sign Up",
"redirecting": "Redirecting",
"loading_state": "Taking you to the next page, please wait.",
"org_loading_state": "Taking you to your organization...",
"add_organization": "+ Add Organization"
},
"markdown_editor": {
"write": "Write",
"preview": "Preview"
},
"components": {
"quiz": {
"title": "Quizzes",
"second": "Second(s)",
"answer": "Answer(s)",
"question_delete": "Delete Question",
"add_more": "+ Add more answers",
"remove_last": "- Remove last answer",
"quiz_delete": "Delete Quiz",
"delete_question": "Are you sure you want to delete this question?",
"delete_quiz": "Are you sure you want to delete this quiz?",
"lose_content": "You will lose your content and this action can’t be undone.",
"delete": "Delete",
"update": "Update",
"create": "Create",
"a_quiz": "a Quiz",
"quiz_title": "Quiz Title",
"placeholder": "Your quiz title",
"save": "Save Change",
"continue": "Continue",
"rename": "Rename",
"updated": "Updated",
"start": "Start Quiz",
"start_typing": "Start typing your question",
"required_field": "This field is required",
"type_answer": "Type answer",
"label": "Please enter a label",
"no_quizz": "No Quiz Created",
"interactive": "Create interactive quizzes with scoreboard for your students."
},
"settings": {
"domains": {
"page_subtitle": "Run your academy on a web address you own.",
"title": "Custom domain",
"add": "Add",
"url": "URL",
"update": "Update Domain",
"custom": "Custom domain",
"domain": "Add your own domain name",
"save": "Save",
"your_domain": "Your Domain",
"custom_domain_error": "You can't add a top level domain as custom domain. Instead, use a subdomain like 'courses.[yourwebsite].com' or 'www.[yourwebsite].com'.",
"custom_domain_not_classroomio": "Domain cannot contain 'classroomio'",
"custom_domain_success": "Custom domain added successfully",
"dns_description": "Set the following record on your DNS provider to continue:",
"dns_type": "Type",
"dns_value": "Value",
"dns_name": "Name",
"dns_record": "DNS record",
"record_active": "Detected",
"record_pending": "Pending",
"ssl_pending_heading": "SSL certificate is being issued",
"ssl_pending_body": "Your domain is pointing to us. We're now waiting for the SSL certificate to be issued and deployed. This usually takes a few minutes once all DNS records below are in place.",
"validation_errors_heading": "Certificate issuance is blocked",
"refresh": "Refresh",
"reconnect": "Reconnect domain",
"reconnect_hint": "Reconnect this domain to generate fresh setup records.",
"remove": "Remove",
"status_verified": "Verified",
"verified_snackbar": "Custom domain verified",
"status_pending_dns": "Pending DNS",
"status_pending_verification": "Pending verification",
"status_reconnect_required": "Reconnect required",
"status_error": "Needs attention",
"status_removed": "Removed",
"verified_description": "This custom domain is active and verified.",
"pending_dns_description": "Add the DNS records below, then refresh verification.",
"pending_verification_description": "DNS records were found. SSL issuance or validation is still in progress.",
"reconnect_description": "This domain needs to be connected again to generate new setup records.",
"error_description": "This custom domain exists, but verification is not complete yet.",
"custom_favicon": "Custom favicon",
"custom_favicon_description": "Shown in browser tabs when visitors open your public school site. Falls back to your organization logo when unset.",
"custom_favicon_save": "Save favicon",
"custom_favicon_remove": "Remove favicon",
"custom_favicon_saved": "Favicon updated",
"custom_code": "Custom code"
},
"customize_lms": {
"page_subtitle": "Choose which tabs, banners, course tools, and extras students see.",
"title": "Customize LMS",
"disabled": "Disabled",
"enabled": "Enabled",
"save": "Save Changes",
"dashboard": {
"title": "Dashboard",
"community": "Community",
"exercises": "Exercises",
"banner_image": "Banner Image",
"banner_image_btn": "Update banner image",
"banner_text": "Banner Text",
"banner_text_label": "Update banner text",
"banner_text_placeholder": "Write the text here"
},
"course": {
"title": "Course",
"newsfeed": "Newsfeed",
"grading": "Grading"
},
"apps": {
"title": "Apps",
"poll": "Poll",
"live_comment": "Live comments"
},
"auth_background": {
"title": "Sign-in screen",
"description": "Optional background image behind login, signup, and other account pages on your organization's site.",
"paid_plan_note": "Upgrade your plan to customize the sign-in background.",
"preview_alt": "Sign-in background preview"
}
}
}
},
"schedule": {
"title": "Your Schedule",
"essence": "The essence of design collaboration",
"figma": "Figma Introduction",
"join": "Join Call",
"no": "No Lesson on this day"
},
"dashboard": {
"morning_heading": "Good Morning",
"afternoon_heading": "Good Afternoon",
"evening_heading": "Good Evening",
"create_course": "Create Course",
"view_site": "Open Academy",
"visit_site": "Open Academy",
"open_academy": "Open Academy",
"current_lesson": "Currently Learning",
"currently_learning": "Currently Learning",
"learner": "Student",
"your_progress": "Your Progress",
"progress": "Progress",
"continue": "Continue",
"continue_learning": "Continue Learning",
"upcoming_sessions_heading": "Live Sessions",
"pick_up_where_you_left_off": "Pick up where you left off",
"get_your_certificate": "Get your certificate",
"course_awaits_you": "{title} awaits you",
"learning_awaits_you": "Your next course awaits you",
"my_certificate": "My Certificate",
"lms_today_progress": "You're {progress}% through your learning - every step counts.",
"lms_today_empty": "Your learning path is ready when you are.",
"compliance_score": "Compliance Score",
"compliance": "Compliance",
"compliance_score_subtitle": "{completed} of {total} compliance courses currently satisfied",
"compliance_score_empty": "No compliance courses assigned yet",
"compliance_met": "{completed} of {total} met",
"required_courses_completed": "{completed} of {total} required courses completed",
"streak": "Streak",
"days_active": "days active",
"no_courses": "No courses in progress yet",
"start_course": "Once you start a course, your progress will reflect here",
"lms_dashboard_hero": "Today is another day to bring you closer to your learning goals. Don’t give up, the more you learn the better you get.",
"lessons_completed": "Lessons completed",
"items_completed": "Items completed",
"items_done": "{completed} of {total} done",
"no_courses_started": "No courses started",
"certificates_earned": "Certificates issued",
"certificates_earned_description": "Total certificates issued to students in your organization",
"certification_rate": "Certified",
"recent_certifications": "Recent certifications",
"no_certifications_yet": "No certificates earned yet",
"no_certifications_yet_description": "When students complete a course and earn a certificate, they will appear here",
"view_courses": "View courses",
"explore_more_courses": "Explore more courses",
"view_more": "View more",
"no_of_courses": "Number of courses",
"no_courses_description": "Courses created within this organization",
"total_students": "Total students",
"total_students_description": "Based on student enrollments",
"top_courses": "Top Courses",
"students": "students",
"student": "student",
"completion": "completion",
"create_first_course": "Create Your First Course",
"create_first_course_description": "Start creating courses to track course progress",
"recent_enrollments": "Recent Enrollments",
"publish_first_course": "Publish Your First Course",
"publish_first_course_description": "To track enrollments, publish a course and invite students",
"publish_course": "Publish Course",
"login_activity_title": "Student Login Activity",
"login_activity_description": "Most active days of the week (last 90 days)",
"login_activity_no_data": "No login activity yet",
"login_activity_logins": "logins"
},
"ai": {
"help_me": "Help me write",
"placeholder": "Help me write a short description",
"text": "Start typing...",
"reset": "Reset",
"rephrase": "Rephrase",
"insert": "Insert",
"can_you": "Can you please rephrase this"
},
"courses": {
"heading": "Courses",
"page_subtitle": "Where lessons turn into courses and courses turn into enrollments.",
"heading_button": "Create Course",
"search_placeholder": "Find Course",
"tag_filters": {
"filter": "Filter",
"active": "Active filters",
"clear_all": "Clear all",
"popover_title": "Filters",
"sort": "Sort",
"order": "Order",
"ascending": "Asc",
"descending": "Desc",
"tags": "Tags",
"empty_tags": "No tags available"
},
"course_filter": {
"date_created_newest": "Date Created: Newest first",
"date_created_oldest": "Date Created: Oldest first",
"published_first": "Published: Published first",
"unpublished_first": "Published: Unpublished first",
"most_lessons": "Lessons: Most first",
"fewest_lessons": "Lessons: Fewest first",
"date_created": "Date Created",
"published": "Published",
"lessons": "Lessons"
},
"course_card": {
"empty_title": "No Courses Created",
"empty_description": "Share your knowledge with the world by creating engaging courses for your students.",
"context_menu": {
"open": "Open",
"clone": "Clone",
"share": "Share",
"invite": "Invite",
"delete": "Delete",
"open_public_course": "Open public course",
"view_course_site": "View course site",
"publish_course": "Publish course",
"copy_course_url": "Copy course URL"
},
"error_message": "An error occurred.",
"lessons_number": "lessons",
"exercise": "exercise",
"students": "students",
"published": "Published",
"unpublished": "Unpublished",
"continue_course": "Continue",
"learn_more": "Learn more",
"public_badge": "Public",
"actions_menu_aria": "Course actions",
"due_date": "Due",
"valid_until": "Valid until",
"tags_overflow_aria": "{count} more tags",
"list_view": {
"title": "Title",
"description": "Description",
"tags": "Tags",
"lessons": "Lessons",
"students": "Students",
"published": "Published",
"type": "Type"
}
},
"new_course_modal": {
"heading": "Create a Course",
"course_name": "Course name",
"type": "Course type",
"course_name_placeholder": "Your course name",
"short_description": "Short Description",
"short_description_placeholder": "A little description about this course",
"type_selector_title": "What type of course are you looking at?",
"button": "Finish",
"back": "Back",
"next": "Next"
},
"copy_course": {
"title": "Create a Course",
"course_name_label": "Course name",
"course_name_placeholder": "Your course name",
"course_description_label": "Course description",
"course_description_placeholder": "Enter a description for your course",
"create_button": "Create",
"error": {
"failed_to_clone": "Failed to clone course"
}
}
},
"course": {
"creator": {
"heading": "What course do you want to create?",
"placeholder": "Ask ClassroomIO to create a course for you...",
"drafting": {
"heading": "Drafting your course idea",
"subtext": "We're turning your prompt into a course title and workspace.",
"step_reading": "Reading your prompt",
"step_naming": "Naming your course",
"step_building": "Creating your workspace"
},
"untitled_course": "Untitled course",
"untitled_course_description": "Course details will be filled in by the assistant after setup.",
"level": {
"beginner": "Beginner",
"intermediate": "Intermediate",
"advanced": "Advanced"
},
"type": {
"self_paced": "Self Paced",
"live_class": "Live Class"
},
"template": {
"heading": "Or start from a template",
"product_101": {
"title": "Product 101 Course",
"description": "A fundamentals course teaching customers how to use your product.",
"form_title": "Tell us about your product"
},
"product_onboarding": {
"title": "Product Onboarding Training",
"description": "An onboarding training that gets new users productive in their first week.",
"form_title": "Tell us about your onboarding goals"
},
"expert_on_x": {
"title": "Become an Expert on X",
"description": "A depth course turning students into experts on a specific topic or niche.",
"form_title": "Tell us about the topic"
},
"submit": "Continue",
"skip": "Answer in chat instead",
"submitted_summary": "Answers submitted",
"skipped_summary": "Switched to chat-based Q&A",
"field": {
"product_name": "Product name",
"product_summary": "What does the product do?",
"audience": "Who is the audience?",
"outcome": "What should students be able to do after the course?",
"depth": "How deep should the course go?",
"topic": "Topic or niche",
"expertise_level": "Target expertise level",
"documentation_url": {
"label": "Documentation URL (optional)",
"hint": "We'll read this site to ground the course in your real product."
}
}
}
},
"navItems": {
"nav_news_feed": "News Feed",
"nav_content": "Content",
"nav_attendance": "Attendance",
"nav_submissions": "Submissions",
"nav_marks": "Marks",
"nav_compliance": "Compliance",
"nav_people": "People",
"nav_analytics": "Analytics",
"nav_certificates": "Certificates",
"nav_landing_page": "Landing Page",
"nav_settings": "Settings",
"nav_ai_assistant": "Assistant",
"nav_ai_tutor": "AI Tutor"
},
"sidebar": {
"back_to_course": "Back to course",
"compliance": {
"title": "Compliance",
"due_date": "Due",
"valid_until": "Valid until"
},
"content_count": {
"lessons": "{count} lessons",
"exercises": "{count} exercises"
}
},
"search": {
"placeholder": "Search lessons or exercises",
"empty": "No results found"
},
"certificates": {
"progress_hint": "{current}% complete ({required}% required to download)"
},
"certification": {
"rules_heading": "Rules",
"deadline_label": "Certification deadline",
"deadline_helper": "Students must meet the completion percentage before this datetime (local time). Leave empty for no deadline.",
"threshold_label": "Minimum completion (%)",
"threshold_helper": "Combined lesson and exercise progress required to earn the certificate (0–100). Default is 100%.",
"final_exercise_label": "Final exercise (optional)",
"final_exercise_none": "none",
"final_exercise_helper": "When set, students must reach at least the minimum score on this exercise (best attempt counts) in addition to the completion percentage above.",
"final_exercise_multiple_attempts_note": "Students will be allowed unlimited attempts on the selected exercise.",
"min_exercise_score_label": "Minimum score on final exercise (%)",
"min_exercise_score_helper": "Score is a percentage of the total points possible on that exercise (0–100).",
"blocker_progress": "Your course progress is {current}%; {required}% is required.",
"blocker_deadline": "The certification deadline has passed.",
"blocker_no_content": "This course has no lessons or exercises to complete.",
"blocker_final_not_submitted": "Submit the required exercise \"{exerciseTitle}\" to qualify for the certificate.",
"blocker_final_pending": "Your attempt on \"{exerciseTitle}\" is still being graded.",
"blocker_final_score": "Your best score on \"{exerciseTitle}\" is {bestPercent}%; {requiredPercent}% is required.",
"blocker_final_misconfigured": "The certification exercise \"{exerciseTitle}\" has no points configured; ask your instructor to fix it.",
"email_message_label": "Email Message",
"email_message_placeholder": "e.g. We are proud of your progress — keep learning!"
},
"completion": {
"modal": {
"title": "Course requirements complete!",
"subtitle": "Congratulations — you can view and download your certificate anytime.",
"subtitle_no_certificate": "Congratulations — you have completed this course.",
"view_certificate": "View certificate",
"later": "Close",
"checking": "Checking eligibility…",
"not_eligible_title": "Almost there",
"retake_exercise": "Retake exercise"
}
},
"header": {
"preview": "Preview course",
"preview_missing_slug": "Generate and save a course slug before previewing.",
"view_as_student": "View as student",
"view_course_site": "View Course Site"
},
"view_course_site": {
"unpublished_title": "Publish your course",
"unpublished_description": "You should publish this course before you can see the site",
"cancel": "Cancel",
"publish_course": "Publish Course"
},
"view_as_student": {
"title": "This will redirect you to the Student LMS.",
"description": "You are about to see what a student will see when they enroll in this course",
"copy_link": "Copy link",
"go_to_lms": "Go to LMS"
},
"navItem": {
"news_feed": {
"heading": "News Feed",
"heading_button": {
"title": "Add",
"edit_post": "Edit Post",
"make_a_post": "Make a Post",
"placeholder": "Share an update with your students",
"cancel": "Cancel",
"post": "Post"
},
"body_header": "No post yet",
"body_content": "Make a post to your class. Start by clicking on the Add button.",
"pinned": "Pinned",
"card": {
"pin": "Pin",
"unpin": "Unpin",
"edit": "Edit",
"delete": "Delete"
},
"comments": {
"comment": "comment",
"showing_of": "Showing {shown} of {total}",
"hide": "Hide comments",
"placeholder": "Add class comment",
"submit_aria": "Submit comment",
"delete": "Delete"
},
"user_avatar_alt": "User avatar",
"snackbar": {
"comment_deleted": "Comment Deleted",
"reaction_error": "An error occurred while reacting to news feed",
"comment_creation_error": "An error occurred while creating comment",
"add_comment_success": "Comment added",
"toggle_pin_error": "Failed to toggle pinned feed",
"unpinned": "Unpinned",
"successfully": "Successfully",
"feed_delete_success": "Feed deleted successfully",
"fetch_feed_fail": "Failed to fetch news feeds",
"fetching_error": "An error occured while fetching feed"
}
},
"lessons": {
"heading": "Lessons",
"heading_v2": "Content",
"stats": {
"sections": "Sections",
"lessons": "Lessons",
"exercises": "Exercises"
},
"drag": "drag a card to reorder",
"no_lesson": "No lessons yet",
"content_locked_title": "This content is locked",
"content_locked_description": "Your instructor has not unlocked this content yet. Complete previous content or check back later.",
"content_progression_locked_title": "Complete previous content first",
"content_progression_locked_description": "This content unlocks after you finish the previous required item in the course.",
"content_progression_locked_description_lesson": "This lesson unlocks after you finish the previous required item in the course.",
"content_progression_locked_description_exercise": "This exercise unlocks after you finish the previous required item in the course.",
"completion_policy": {
"label": "Completion rule",
"manual_label": "Manual",
"manual_description": "Students mark the lesson complete themselves.",
"video_watch_label": "Video watch",
"video_watch_description": "The lesson completes automatically after students watch the selected videos.",
"none_label": "None",
"none_description": "This lesson does not block course progression.",
"watch_threshold": "Watch threshold (%)"
},
"settings": {
"progression": {
"heading": "Progression",
"intro": "Choose how students complete this lesson and move through the course.",
"option_guide_heading": "What each option means",
"watch_videos_heading": "Videos to enforce",
"watch_videos_helper": "Only uploaded videos can be enforced. YouTube and external embeds cannot be tracked.",
"watch_videos_empty": "Add an uploaded video in the Video tab to use watch enforcement.",
"watch_videos_required": "Select at least one video when using video watch.",
"students_only_note": "These rules apply to students only. You can preview and navigate freely while teaching."
}
},
"watch_progress": {
"status": "Watched {percent}% of the video content",
"videos_complete": "Watched {percent}% of the required video content ({complete} of {required} videos)",
"seek_blocked": "You cannot skip ahead on this video",
"complete_via_watch": "This lesson completes when you watch enough of the video"
},
"session": {
"join": "Join session",
"live_indicator": "This lesson is a live session",
"heading": "Live session",
"intro": "Set the join link and scheduled time for this live class. Students get reminders 24 hours and 1 hour before.",
"link_label": "Join link (Zoom, Meet, etc.)",
"datetime_label": "Date and time",
"timezone_label": "Timezone",
"timezone_helper": "Reminders and the calendar invite use this timezone for display.",
"save": "Save session",
"saved": "Session saved",
"notified": "Students notified of the updated session",
"notify_failed": "Couldn't notify students of the change",
"confirm_title": "Notify students of the change?",
"confirm_body": "Saving will email all enrolled students about the updated session, with a new calendar invite that updates the event on their calendar.",
"confirm_cancel": "Cancel",
"confirm_save": "Save and notify",
"live_session": "Live session",
"live_now": "Live now",
"live_event": "Live Session",
"started": "Started",
"min_ago": "min ago",
"join_now": "Join now",
"copy_link": "Copy link",
"copy": "Copy",
"add_to_calendar": "Add to calendar",
"add_google": "Google Calendar",
"add_outlook": "Outlook.com",
"add_office365": "Office 365",
"add_yahoo": "Yahoo Calendar",
"add_apple": "Apple Calendar (.ics)",
"starts_in": "Starts in",
"session_ended": "Session ended",
"link_copied": "Link copied"
},
"share_your_knowledge": "Share your knowledge with the world by creating engaging lessons. Start by clicking on the Add button.",
"section_prompt": {
"cta": "Enable Sections",
"header": "Enable Sections",
"title": "We Launched Course Sections",
"description": "You can now group lessons into sections to organize your content and make learning smoother for your students.",
"activate": "Activate",
"cancel": "Cancel"
},
"add_lesson": {
"button_title": "Add",
"start_reorder": "Reorder",
"end_reorder": "End Reorder",
"modal_heading": "Add New Lesson",
"modal_heading_section": "Add New Section",
"lesson_title": "Lesson Title",
"course_section_title": "Section Title",
"click_to": "Click to",
"lock": "Lock",
"unlock": "Unlock",
"all": "All",
"fullname": "fullname",
"save": "Save",
"edit": "Edit",
"delete": "Delete",
"delete_tooltip": "Delete this lesson",
"cancel": "Cancel"
},
"add_content": "Add content",
"add_content_description": "Select the type of content you want to add.",
"add_content_details": "Fill in the details for this content.",
"add_content_adding_to": "Adding to",
"add_content_section_fallback": "section",
"add_content_continue": "Continue",
"add_content_section_label": "Section",
"add_content_select_section": "Select section",
"add_content_create_section_first": "Create a section first to add lessons or exercises.",
"add_content_back": "Back",
"add_content_create": "Create",
"add_content_create_section": "Create section",
"add_content_create_lesson": "Create lesson",
"add_content_options": {
"section_title": "Section",
"section_description": "Group lessons and exercises together.",
"lesson_title": "Lesson",
"lesson_description": "Teach with notes, slides, and videos.",
"exercise_title": "Exercise",
"exercise_description": "Assess students with quizzes and tasks."
},
"add_content_section_title_placeholder": "e.g., Module 1: Introduction",
"add_content_lesson_title_placeholder": "e.g., Getting Started with Variables",
"content_menu": {
"label": "Content options",
"unlock_all": "Unlock all content",
"enable_grouping": "Enable content grouping",
"disable_grouping": "Disable content grouping"
},
"join_lesson": "Join lesson",
"no_link": "No link",
"no_tutor": "No tutor added",
"body_header": "No lessons yet",
"body_content": "Share your knowledge with the world by creating engaging lessons. Start by clicking on the Add button.",
"lesson_nav": {
"materials": "Materials",
"exercises": "Exercises"
},
"download_pdf": "Download PDF",
"autosaving": "Autosaving...",
"saving": "Saving…",
"saved": "Saved",
"draft_recovery": "An unsaved draft was found for this lesson. Would you like to restore it?",
"done": "Done",
"edit": "Edit",
"mark_as": "Mark as",
"incomplete": "Incomplete",
"complete": "Complete",
"next": "Next",
"prev": "Prev",
"prev_shortcut": "Previous (←)",
"next_shortcut": "Next (→)",
"materials": {
"body_heading": "No note, video or slide added for this lesson yet",
"body_content": "Share your knowledge with your students by creating engaging content. Start by clicking on",
"get_started": "Get Started",
"no_content": "No Content",
"no_translation": "No translation for the selected language",
"button": "button",
"show_transcript": "Show transcript",
"summarize_lesson": "Summarize lesson",
"summarize_lesson_prompt": {
"lesson_only": "Summarize what has been taught in this lesson.",
"transcript_only": "Look at the transcript of the uploaded video and summarize what is mentioned in the transcript.",
"transcript_and_notes": "Look at the transcript of the uploaded video and summarize what is mentioned in the transcript. Also summarize what is covered in the lesson notes."
},
"tabs": {
"note": {
"title": "Note",
"placeholder": "Write your lesson note here",
"ai": {
"outline": "Generate Lesson Outline",
"note": "Generate Lesson Note",
"activities": "Generate Lesson Activities"
}
},
"slide": {
"title": "Slide",
"slide_link": "Slide Link",
"helper_message": "You can embed Google Slides or Canva Presentation"
},
"settings": {
"title": "Settings"
},
"video": {
"title": "Video",
"embed_link": "Embed Link",
"google_drive": "Google Drive",
"upload": "Upload",
"library": "Library",
"button": "Add/Edit Video(s)",
"remove_video": "Remove video",
"empty_title": "No videos yet",
"empty_description": "Add videos from YouTube, Google Drive, embed links, upload, or your media library",
"add_video": {
"title": "Add a Video",
"add_by": "Add By",
"youtube_link": "Youtube Link",
"videos_added": "Videos Added",
"add_video": "Add Video",
"upload_video": "Upload Video",
"select_file": "Select file (Mp4, MOV, AVI) to upload to your lesson.",
"size": "(Max 500 MB)",
"oops": "Oops `😬, couldn’t upload video",
"big_file": "Sorry we video wasn’t uploaded. The file size is too big,",
"maximum_size": "maximum size is 30 MB. Try again!",
"button": "Try another file",
"try_again": "Please try again",
"unsupported_format": "Sorry we video wasn’t uploaded, the file format isn’t supported or something went wrong on the server.",
"format": "Upload MP4, MOV and AVI files.",
"upgrade": "Upgrade your plan to upload vidoes",
"uploading": "Uploading...",
"invalid_youtube": "Invalid YouTube link(s)",
"invalid_link": "Invalid link(s)",
"search_library": "Search library",
"search_library_action": "Search",
"loading_library": "Loading media library...",
"no_library_videos": "No videos available in your media library",
"add_from_library": "Add from library",
"cancel_upload": "Cancel Upload",
"upload_cancelled": "Upload cancelled by user",
"max_files": "{count, plural, one {You can upload # file} other {You can upload # files}}",
"max_files_and_size": "(up to {size} each)",
"google_drive_choose": "Choose from Google Drive",
"google_drive_opening": "Opening picker…",
"google_drive_hint": "Pick a video from your Google account. Anyone viewing the lesson needs access—set sharing in Drive to “Anyone with the link can view” (or your org’s equivalent).",
"google_drive_not_configured": "Google Drive import is not set up for this deployment. Add PUBLIC_GOOGLE_PICKER_CLIENT_ID and PUBLIC_GOOGLE_PICKER_API_KEY to your environment.",
"google_drive_error": "Could not open Google Drive. Check your browser allows pop-ups and that the Google Picker is configured correctly.",
"processing": {
"queued": "Queued for processing…",
"probing": "Reading video metadata…",
"thumbnailing": "Generating thumbnail…",
"extracting_audio": "Extracting audio…",
"transcribing": "Transcribing…",
"compressing": "Compressing video…",
"completed": "Processing complete",
"failed": "Processing failed",
"canceled": "Processing canceled"
}
},
"generate_transcript": "Generate transcription",
"generate_transcript_in_progress": "Transcribing…",
"view_transcript": "View transcription",
"generate_1080": "Generate 1080p",
"generate_1080_in_progress": "Generating 1080p…",
"generate_1080_ready": "1080p available",
"generate_1080_unavailable": "1080p unavailable for this source video",
"playback_error": "Loading this video failed.",
"playback_reload": "Reload video",
"playback_auth_error": "Your session expired. Please sign in again to watch this video.",
"playback_auth_action": "Sign in",
"loading": "Loading video…",
"simple_card": {
"kind_youtube": "YouTube",
"kind_upload": "Upload",
"kind_google_drive": "Google Drive",
"kind_generic": "Embedded",
"course_fallback": "Course",
"menu_aria": "Video options",
"transcription_in_progress": "(Transcript generation in progress)"
},
"transcript": {
"title": "Transcript",
"open_side_panel": "Open transcript panel",
"captions_label": "Captions",
"language": "Language: {language}",
"empty": "No transcript yet. You can generate one from this card’s menu after the video is uploaded.",
"loading": "Loading transcript…",
"edit": "Edit transcript",
"save": "Save",
"cancel": "Cancel",
"segment_label": "Segment at {timestamp}"
}
},
"document": {
"title": "Docs",
"add_document": "Add Document",
"no_document": "No documents uploaded yet",
"view_document": "View Document",
"download": "Download",
"upload_document": "Upload Document",
"upload_title": "Upload Document",
"upload_description": "Upload PDF, DOCX, or DOC files. Maximum size: 5MB",
"drag_drop": "Drag and drop your document here",
"or": "or",
"choose_file": "Choose File",
"cancel": "Cancel",
"uploading": "Uploading...",
"upload_success": "Document uploaded successfully!",
"upload_error": "Failed to upload document",
"file_type_error": "File type not supported. Please upload PDF, DOCX, or DOC files.",
"file_size_error": "File size too large. Maximum size is {size}.",
"type": "Type",
"size": "Size",
"upload_error_title": "Upload Error",
"upload_error_message": "Unsupported file format or upload failed",
"upload_error_try_again": "Please try again with a valid document file",
"try_again": "Try Again",
"upgrade": "Upgrade your plan to upload documents",
"cancel_upload": "Cancel Upload",
"upload_cancelled": "Upload cancelled by user",
"downloading": "Downloading...",
"view_pdf": "View PDF",
"remove_document": "Remove document",
"delete": "Delete",
"page_of": "Page {page} of {total}",
"loading_pdf": "Loading PDF...",
"failed_to_load_pdf": "Failed to load PDF document",
"failed_to_render_pdf": "Failed to render PDF page",
"use_arrow_keys": "Use arrow keys to navigate, +/- to zoom, or click the controls above. Right-click is disabled.",
"empty_title": "No documents yet",
"empty_description": "Upload documents to share with your students"
}
},
"button_done": "Done"
},
"exercises": {
"heading": "All Exercises",
"add_button": "Add",
"no_exercises": "No exercises added for this lesson",
"no_assigned_exercises": "Your tutor hasn't assigned any exercise to this lesson. For the main time, you can",
"chill": "chill with the big boys",
"add_exercise": "Share your knowledge with the world by creating engaging exercises. Add an exercise now.",
"new_exercise_modal": {
"heading": "New Exercise",
"options": {
"from_scratch": "From Scratch",
"from_scratch_subtitle": "Create your exercise from scratch if you have your questions already prepared",
"use_template": "Use a Template",
"use_template_subtitle": "Select from 100+ templates of predefined exercise to help you get started",
"use_ai": "Use AI",
"use_ai_subtitle": "You can generate an exercise with AI from your notes"
},
"how": "How do you want to create your exercise",
"coming_soon": "Coming soon",
"next": "Next",
"title": "Give your exercise a title",
"title_placeholder": "Exercise name",
"finish": "Finish",
"select_template": "Select a template",
"questions": "Questions",
"points": "Points",
"back": "Back",
"create_exercises": "Create exercises from Notes with AI",
"choose_questions": "Choose how many questions and options you want and AI will help you create an exercise out of your note. Let's go.",
"how_many_questions": "How many questions do you want to create?",
"how_many_options": "How many options per questions do you want?",
"add_note": "Please add a note to use this feature",
"generate": "Generate",
"completion": "AI Generation Complete",
"click_generate": "Click 'Generate' for some magic",
"no_templates_for_tag": "No templates available for this tag.",
"errors": {
"template_fetch": "Error fetching templates. Please try again."
}
},
"all_exercises": {
"heading": "All Exercise",
"notify": {
"action": "Notify students",
"sending": "Notifying students…",
"sent": "Notified {count} students",
"failed": "Couldn't notify students"
},
"questions": "Questions",
"settings": "Settings",
"settings_allow_multiple": "Allow multiple attempts",
"settings_allow_multiple_helper": "Students can submit more than once and review past attempts on the results screen.",
"settings_completion_policy": "Completion rule",
"settings_completion_submitted": "Submitted — any submission counts",
"settings_completion_passed": "Passed — minimum score required",
"settings_pass_threshold": "Pass threshold (%)",
"settings_completion_passed_helper": "Students must reach the passing score before this exercise counts as complete.",
"settings_manual_grading_warning": "Manually graded submissions must be graded before they can count as passed.",
"settings_single_attempt_warning": "With one attempt, failed students need instructor action before they can continue.",
"settings_existing_submissions_warning": "Changing pass criteria can affect existing completion and progression.",
"settings_save": "Save settings",
"submissions": "Submissions",
"save": "Save",
"preview": "Preview",
"add": "Add",
"more": "Actions",
"add_question": "Add question",
"add_section": "Add section",
"reorder": "Reorder Questions",
"reorder_done": "Done reordering",
"delete_exercise": "Delete Exercise",
"order_questions": "Order questions",
"write_your_answer": "Write your answer",
"write_your_answer_here": "Write your answer here",
"no_answer": "No answer was provided",
"write_your_question_here": "Write your question here",
"write_your_title": "Write your title here",
"write_your_subtitle": "Write your subtitle here",
"highlight": "Write your title highlight here",
"content": "Write your Content here",
"video": "Write your video link here",
"link": "Write your link here",
"label": "Write your label here",
"email": "Write your email here",
"facebook": "Write your Facebook link here",
"twitter": "Write your Twitter link here",
"linkedin": "Write your LinkedIn link here",
"number": "Write your phone number here",
"previous": "Previous",
"finish": "Finish",
"next": "Next",
"check": "Check",
"auto_graded_badge": "Auto-grade",
"manual_grading_required_badge": "Manual grading required",
"question_auto_graded_badge": "Auto graded",
"question_manual_grading_badge": "Manual grading",
"points_required_auto_grade": "Points must be greater than 0 for auto-graded exercises.",
"zero_points_warning": "Set points above 0, otherwise students won't be graded for this question.",
"guard": {
"title": "Review before saving",
"attempts_title": "What happens if a student fails?",
"description": "This exercise only counts as complete when a student passes.",
"retry_option": "Let them retry until they pass",
"retry_option_description": "Students can resubmit as many times as needed.",
"single_attempt_option": "One attempt only",
"single_attempt_option_description": "A student who fails stays blocked until you manually change their submission status.",
"recommended": "Recommended",
"manual_notice_title": "Some questions need manual grading",
"manual_notice_description": "A student's pass isn't final until you grade these questions:",
"cancel": "Cancel",
"save_anyway": "Save anyway",
"save_continue": "Save and continue",
"question_fallback": "Question {number}",
"zero_points_field": "Passed completion needs at least one point available."
},
"description": {
"title": "Title",
"heading": "Description",
"describe": "Describe the exercise to your student",
"no": "No description"
},
"delete_confirmation": {
"title": "Delete question",
"sure": "Are you sure you want to delete this question",
"section_title": "Delete section",
"section_sure": "This section will be deleted. Its questions will be moved to the nearest section.",
"no": "No, please don't",
"yes": "Yes, delete"
},
"section": {
"fallback_title": "Section",
"questions": "questions",
"short_questions": "q",
"required": "required",
"add_question": "Add question",
"delete": "Delete section",
"move_up": "Move section up",
"move_down": "Move section down",
"color": "Section color",
"description_placeholder": "Describe this section",
"after_section": "After section",
"continue": "Continue to next section",
"go_to_section": "Go to section",
"submit": "Submit exercise",
"collapse_section": "Collapse section",
"expand_section": "Expand section"
},
"edit_mode": {
"delete_modal": "Delete Exercise",
"sure": "Are you sure you want to delete this exercise?",
"no": "No, cancel",
"yes": "Yes, delete",
"select_type": "Select type",
"question_type_auto_gradable": "Auto",
"question_type_auto_gradable_description": "Scored automatically by the system",
"question_type_manual_grading": "Manual",
"question_type_manual_grading_description": "Requires human review to score",
"premium_question_type": "Upgrade to use this question type",
"deleting": "Deleting...",
"error": "You have some errors",
"question": "Question",
"write": "Write your code",
"option": "Add option",
"question_types": {
"single": "Single answer",
"multiple": "Multiple answers",
"paragraph": "Paragraph",
"true_false": "True/False",
"short_answer": "Short answer",
"numeric": "Numeric answer",
"fill_blank": "Fill in the blank",
"file_upload": "File upload",
"matching": "Matching",
"ordering": "Ordering",
"hotspot": "Hotspot",
"link": "Links",
"word_bank": "Word bank",
"star": "Star rating",
"video_recording": "Video recording"
}
},
"view_mode": {
"attempt_counter": "Attempt {current} of {total}",
"previous_try": "Previous attempt",
"next_try": "Next attempt",
"try_again": "Try again",
"no_question": "No question added for this exercise",
"empty_description": "Click the Edit button to add.",
"empty_edit_hint_prefix": "Click the ",
"empty_edit_hint_suffix": " button to add.",
"answers_required": "Please provide at least one answer before submitting.",
"answer_required": "Please answer this question before proceeding.",
"edit": "Edit",
"button": "button to add",
"questions": "questions",
"sections": "sections",
"points": "points",
"all": "All required",
"due": "Due by",
"no_description": "No description",
"start": "Start",
"graded": "Graded",
"pending": "Pending",
"submitted": "Submitted",
"status_pending": "Status: Pending Review",
"status_graded": "Status: Review Completed",
"status_submitted": "Status: Submitted",
"passed_completion_result_title": "Passed",
"passed_completion_result_description": "You scored {scorePercent}%. This exercise required {requiredPercent}% to count as complete.",
"not_passed_completion_result_title": "Not passed yet",
"not_passed_completion_result_description": "You scored {scorePercent}%. This exercise requires {requiredPercent}% to count as complete.",
"checking_submission": "Checking your submission...",
"instructor_feedback": "Instructor feedback",
"back": "Back",
"begin_section": "Start section",
"complete_section": "Complete section"
},
"analytics": {
"summary": {
"heading": "Summary",
"question_chart": "Question Charts",
"responses": "Responses",
"attempts": "Attempts",
"no_responses": "No responses yet",
"other": "Other"
},
"individual": {
"heading": "Individual",
"answers": "Individual Answers",
"answers_for": "{name}'s answers",
"no": "No answer was provided",
"student_avatar": "Student",
"attempts_count": "{count} attempts",
"attempt_label": "Attempt {number}",
"date_unknown": "Date unknown",
"status_awaiting_manual": "Awaiting manual grading",
"status_completed": "Graded",
"status_pending": "Pending",
"counts_as_complete": "Counts as complete",
"passed": "Passed",
"not_passed": "Not passed"
},
"submissions": "Submissions",
"loading_submissions": "Loading submissions...",
"empty_title": "No submissions yet",
"empty_description": "Submissions will appear here when students complete this exercise."
},
"shared_question": {
"common": {
"option_prefix": "Option",
"remove": "Remove",
"add_option": "Add option",
"correct_badge": "Correct",
"incorrect_badge": "Incorrect",
"not_set": "Not set"
},
"navigation": {
"previous": "Previous",
"next": "Next",
"finish": "Finish"
},
"question": {
"edit": {
"title_label": "Title",
"title_placeholder": "Question prompt",
"description_label": "Description (optional)",
"description_placeholder": "Add additional context for this question",
"add_description": "Add description",
"remove_description": "Remove description",
"media_menu_sr": "Question extras menu",
"add_image": "Add image",
"add_video": "Add video",
"remove_image_tooltip": "Remove image",
"remove_image_sr": "Remove image",
"remove_video_tooltip": "Remove video",
"remove_video_sr": "Remove video",
"image_alt": "Question context",
"video_modal_title": "Add YouTube video",
"video_link_label": "YouTube link",
"video_link_placeholder": "https://www.youtube.com/watch?v=",
"video_add_button": "Add video",
"video_invalid_link": "Please enter a valid YouTube link.",
"upload_error_only_images": "Only image files are supported.",
"upload_error_skipped": "Some files were skipped because they are not images.",
"upload_error_failed": "Failed to upload image. Try again."
}
},
"radio": {
"edit": {
"helper": "Select exactly one correct option.",
"correct_selected_tooltip": "Correct answer selected",
"mark_correct_tooltip": "Mark as correct answer",
"mark_correct_sr": "Mark option as correct"
}
},
"checkbox": {
"edit": {
"helper": "Mark one or more options as correct.",
"correct_selected_tooltip": "Correct answer selected",
"toggle_correct_tooltip": "Toggle correct answer",
"toggle_correct_sr": "Toggle option as correct"
}
},
"true_false": {
"true_label": "True",
"false_label": "False",
"edit": {
"correct_answer_label": "Correct answer"
},
"preview": {
"correct_value_label": "Correct value"
}
},
"short_answer": {
"edit": {
"instructions_placeholder": "Optional instructions"
},
"take": {
"placeholder": "Type your answer"
},
"preview": {
"helper": "Free-text answer question."
},
"review": {
"your_answer_label": "Submitted:",
"accepted_label": "Accepted answers"
}
},
"numeric": {
"edit": {
"correct_value_label": "Correct value",
"correct_value_info": "The expected numeric answer students must submit to be marked correct.",
"tolerance_label": "Tolerance",
"tolerance_info": "Allowed difference from the correct value (for example, 0.5 accepts +/-0.5).",
"correct_value_placeholder": "Correct value",
"tolerance_placeholder": "Tolerance"
},
"take": {
"placeholder": "Enter a number"
},
"preview": {
"correct_value_label": "Correct value",
"tolerance_label": "Tolerance"
},
"review": {
"your_answer_label": "Submitted:",
"in_range": "Within tolerance",
"out_of_range": "Outside tolerance"
}
},
"star": {
"edit": {
"correct_value_label": "Correct star value",
"correct_value_info": "The star count students must select to earn full points.",
"max_stars_label": "Maximum stars",
"max_stars_info": "How many stars students see (1–10). Default is 5.",
"correct_value_placeholder": "e.g. 3",
"max_stars_placeholder": "e.g. 5"
},
"take": {
"helper": "Select your rating.",
"star_sr": "Star '{'n'}' of '{'max'}'"
},
"preview": {
"correct_label": "Correct answer"
}
},
"fill_blank": {
"edit": {
"accepted_answers_placeholder": "Accepted answers (comma separated)"
},
"take": {
"placeholder": "Enter answers separated by commas"
},
"preview": {
"accepted_answers_label": "Accepted answers"
},
"review": {
"your_answer_label": "Submitted:"
}
},
"word_bank": {
"edit": {
"template_label": "Sentence template",
"template_placeholder": "Measurements to describe our data are called ___. The ___ is a function...",
"template_helper": "Use three underscores (___) for each blank. Students will see a word bank with correct answers and distractors.",
"no_blanks_warning": "Add at least one ___ blank marker in your template.",
"correct_answers_heading": "Correct answer for each blank",
"blank_label": "Blank",
"correct_placeholder": "Correct term or phrase",
"distractors_heading": "Extra words (distractors)",
"distractor_placeholder": "Wrong option",
"add_distractor": "Add distractor"
},
"take": {
"helper": "Click a word to place it in the first empty blank, or drag it into a blank. Click a filled blank to return the word to the bank.",
"bank_heading": "Word bank",
"clear_blank_sr": "Remove word from blank"
},
"preview": {
"filled_label": "Expected answers in context"
},
"review": {
"your_answer_label": "Your answers",
"correct_label": "Correct answers"
}
},
"file_upload": {
"edit": {
"accepted_types_placeholder": "Accepted types (e.g. pdf,docx)",
"max_size_placeholder": "Max size (MB)"
},
"take": {
"selected_file_label": "Selected file",
"upload_button": "Upload",
"upload_progress": "Uploading...",
"upload_error": "Upload failed",
"view": "View",
"download": "Download"
},
"preview": {
"accepted_types_label": "Accepted types",
"max_size_label": "Max size (MB)"
}
},
"video_recording": {
"edit": {
"max_duration_label": "Max duration",
"max_duration_helper": "Students record in the browser and can retake before submitting. Maximum is 2 minutes.",
"max_duration_placeholder": "60",
"manual_grading": "Requires manual grading"
},
"take": {
"unsupported": "Video recording is not supported in this browser.",
"permission_prompt": "Allow camera and microphone access to record your answer.",
"permission_denied": "Camera or microphone access was blocked. Check browser permissions.",
"start_camera": "Set up camera",
"camera_label": "Camera",
"camera_placeholder": "Select camera",
"play_preview": "Play recording preview",
"pause_preview": "Pause recording preview",
"start_recording": "Start recording",
"stop_recording": "Stop recording",
"elapsed": "Elapsed",
"remaining": "Remaining",
"max_duration": "Max",
"too_short": "Record for at least 1 second.",
"use_recording": "Use recording",
"retake": "Retake",
"delete": "Delete recording",
"retry_upload": "Retry upload",
"uploading": "Uploading recording...",
"uploaded": "Recording uploaded",
"upload_failed": "Upload failed. Try again.",
"replaces_previous": "A new accepted take replaces the previous answer after upload."
},
"preview": {
"max_duration_label": "Max duration",
"manual_grading": "Students record a short video response. Manual grading required."
},
"submission": {
"no_video": "No video submitted.",
"unavailable": "Video unavailable.",
"duration": "Duration",
"file_size": "File size",
"recorded_at": "Recorded",
"uploaded_at": "Uploaded",
"retake_count": "Retakes"
}
},
"link": {
"edit": {
"instructions_placeholder": "Optional instructions for students",
"helper": "Students can submit one or more valid URLs (http/https)."
},
"take": {
"helper": "Add one or more links. Only valid http/https URLs are accepted.",
"placeholder": "https://example.com/resource-'{'index'}'",
"remove_tooltip": "Remove link",
"remove_sr": "Remove link",
"invalid_url_error": "Please enter a valid URL (http/https).",
"add_button": "Add link"
},
"preview": {
"empty": "No links submitted.",
"item_label": "Link '{'index'}'"
}
},
"matching": {
"edit": {
"helper": "Configure pairs in question settings via host app controls."
},
"take": {
"placeholder": "Provide matching pairs as JSON"
},
"preview": {
"helper": "Matching pairs preview is provided by host app settings."
}
},
"ordering": {
"fallback_step_prefix": "Step",
"edit": {
"helper": "Drag items to define the correct order.",
"add_step": "Add step",
"empty": "Add steps, then drag to set the expected order.",
"step_placeholder": "Step '{'index'}'",
"remove_step_tooltip": "Remove step"
},
"take": {
"helper": "Drag and drop to arrange the items in the correct order.",
"empty": "No ordering items are configured for this question yet."
},
"preview": {
"submitted_label": "Submitted order",
"expected_label": "Expected order",
"matches": "Submitted order matches expected order.",
"differs": "Submitted order differs from expected order."
}
},
"hotspot": {
"edit": {
"helper": "Configure hotspot image and zones in question settings via host app controls."
},
"take": {
"placeholder": "Provide hotspot coordinates as JSON"
},
"preview": {
"helper": "Hotspot preview is provided by host app image and hotspot settings."
}
},
"textarea": {
"take": {
"placeholder": "Write your answer",
"min_error": "Answer must be at least {min} characters.",
"max_error": "Answer must be at most {max} characters.",
"range_error": "Answer must be between {min} and {max} characters."
},
"edit": {
"placeholder": "Students will answer with long-form text",
"min_characters_label": "Minimum characters",
"min_characters_placeholder": "Minimum characters",
"max_characters_label": "Maximum characters",
"max_characters_placeholder": "Maximum characters"
}
}
}
}
},
"disabled": "Feature is disabled",
"comments": {
"title": "Comments",
"you": "You",
"text_area_title": "Leave a comment",
"placeholder": "What do you think about this lesson?",
"comment_btn": "Comment",
"cancel_btn": "Cancel",
"load_more_btn": "Load more",
"comment_error": "Failed to post comment. Please try again."
},
"polls": {
"title": "Poll",
"active_polls": "Active Polls",
"expired_polls": "Expired Polls",
"loading": "Loading...",
"no_polls": "No polls to display"
},
"poll": {
"voted": "Voted",
"created_by": "Created by",
"status": "Status",
"draft": "Draft",
"publish": "Publish",
"expiration": "Expiration",
"total_voted": "Total Votes",
"responses": "Responses",
"expires": "Expires",
"today": "Today",
"back": "Back",
"result": "Result",
"delete": "Delete",
"create_poll": "Create poll",
"question": "Question",
"options": "Options",
"option_label": "Option Label",
"cancel": "Cancel",
"poll_question": "Poll Question"
},
"version_history": {
"title": "Version history",
"fetch_more_versions": "Fetch more versions",
"current_version": "Current version",
"restore_version": "Restore this version"
}
},
"attendance": {
"title": "Attendance",
"present": "Present",
"absent": "Absent",
"search_students": "Search Students",
"student": "Student",
"lesson": "Lesson",
"no_student": "No Student Added"
},
"submissions": {
"title": "Submitted Exercises",
"submission_status": {
"submitted": "Submitted",
"in_progress": "In Progress",
"graded": "Graded"
},
"workflow": {
"awaiting_manual_hint": "Needs manual review",
"failed_hint": "Auto-grading failed. Move this submission back to Submitted to retry.",
"invalid_transition": "This status move is not allowed by the grading workflow"
},
"grading_modal": {
"details": "Details",
"student_avatar": "Student avatar",
"early": "Early",
"late": "Late",
"total_grade": "Total grade",
"student": "Student",
"status": "Status",
"add_comment": "Add comment",
"add_comment_placeholder": "Leave a comment",
"grade_with_ai": "Grade with AI",
"ai_icon": "AI",
"submit_grades": "Submit Grades",
"accept_grade": "Accept",
"reject_grade": "Reject",
"allocated": "Allocated this score because",
"total_try": "of total tries:",
"options_correct": "correct options were selected",
"out_of": "out of",
"options_wrong": "and the number of wrong selections were",
"questions_tried": "Allocated this score because of total tries:",
"delete_prompt": "Delete",
"delete_error": "Failed to delete submission",
"delete_success": "Successfully deleted submission"
}
},
"marks": {
"title": "Marks",
"student": "Student",
"total": "Total",
"avg_grade": "Avg grade",
"export": {
"csv": "Export as CSV",
"pdf": "Export as PDF"
},
"no_student": "No Student Added"
},
"compliance": {
"title": "Compliance",
"not_compliance_title": "Compliance is not enabled",
"not_compliance_description": "This course is not configured as a compliance course.",
"loading": "Loading compliance records...",
"learners": "Students",
"learners_description": "This table shows the latest cycle for each student.",
"current_cycle": "Current cycle",
"current_cycle_description": "Your active compliance cycle and renewal dates.",
"history": "Past cycles",
"history_description": "Each row is one recorded compliance cycle for this course.",
"no_active_cycle": "No active compliance cycle",
"empty_history": "No compliance history has been recorded yet.",
"empty_overview": "No student compliance records are available yet.",
"empty_overview_description": "Keep your employees compliant and track who is behind.",
"not_available": "Not available",
"tabs": {
"overview": "Overview",
"learners": "Students"
},
"bulk_actions": {
"title": "Bulk actions",
"description": "Select students and apply a compliance action to their current cycle.",
"select_all": "Select all visible students",
"selected_count": "{count} selected",
"clear_selection": "Clear selection",
"due_date_label": "Due date",
"due_date_helper": "Used for reset and extend actions.",
"reset_action": "Reset cycle",
"extend_action": "Extend due date",
"waive_title": "Waive selected students",
"waive_description": "Apply a waiver to the selected students. You can leave the expiration empty for an open-ended waiver.",
"waiver_reason_label": "Waiver reason",
"waiver_reason_helper": "Optional context for audits and future reviews.",
"waiver_expires_at_label": "Waiver expires at",
"waiver_expires_at_helper": "Leave empty if the waiver should not expire automatically.",
"waive_action": "Apply waiver",
"modal": {
"description": "You are updating {count} selected students.",
"cancel": "Cancel",
"apply": "Apply action"
}
},
"fields": {
"learner": "Student",
"email": "Email",
"status": "Status",
"cycle": "Cycle",
"due_date": "Due date",
"completed_at": "Completed at",
"valid_until": "Valid until",
"score": "Score",
"attempts": "Attempts"
},
"summary": {
"total_learners": "Total students",
"no_record": "No record",
"not_started": "Not started",
"in_progress": "In progress",
"compliant": "Compliant",
"expiring_soon": "Expiring soon",
"in_grace_period": "In grace period",
"non_compliant": "Non-compliant",
"waived": "Waived"
},
"overview_metrics": {
"heading": "Course snapshot",
"description": "Student counts by status for this course."
},
"status": {
"no_record": "No record",
"not_started": "Not started",
"in_progress": "In progress",
"compliant": "Compliant",
"expiring_soon": "Expiring soon",
"in_grace_period": "In grace period",
"non_compliant": "Non-compliant",
"waived": "Waived"
}
},
"people": {
"title": "People",
"add": "Add",
"search": "Search people",
"you": "You",
"pending": "Pending",
"name": "Name",
"role": "Role",
"action": "Action",
"feedback": "Copied Email to clipboard",
"view": "View",
"delete_profile": "Delete profile",
"invite_modal": {
"title": "Invite people",
"invite": "Invite Tutors",
"select": "Select tutors in organization...",
"to_add": "To add tutor to your organization,",
"go_to": "go to organization settings",
"invite_students": "Add Students",
"student_limit_reached": "You've reached your plan's student limit. Upgrade to invite more students.",
"via_link": "You can invite students via an invite link",
"via_qr": "You can invite students via QR",
"download_qr": "Download QR code",
"qr_downloading_snackbar": "QR code generated successfully, please wait while it downloads",
"copy_link": "Copy link",
"success": "Copied Successfully",
"finish": "Finish",
"loading": "Loading...",
"student_invite_settings": "Student Invite Settings",
"student_invite_settings_description": "Choose how long the invite works and how many students can use it.",
"preset": "Preset",
"expires_at": "Expires At",
"max_uses": "Max Uses",
"presets": {
"one_time_24h": "One-time (24h)",
"multi_use_7d": "Multi-use (7 days)",
"multi_use_30d": "Multi-use (30 days)",
"custom": "Custom"
},
"quick_invite_link": "Quick Invite Link",
"quick_invite_link_description": "Create a secure link and share by copy or QR.",
"regenerate_link": "Regenerate Link",
"share_via_qr": "Share via QR",
"qr_placeholder": "Generate link to show QR",
"direct_email_bulk": "Direct Email / Bulk Invite",
"direct_email_description": "Paste email addresses separated by comma, space, or new line. A unique secure invite is created per email.",
"recipient_emails": "Recipient Emails",
"recipient_emails_placeholder": "[email protected], [email protected]",
"send_invite_emails": "Send invite emails immediately",
"create_email_invites": "Create Email Invites",
"existing_students_title": "Add existing org students",
"existing_students_description": "Choose students already in this organization and grant them direct access to this course.",
"existing_students_search": "Search organization students",
"loading_existing_students": "Loading organization students...",
"no_existing_students": "No organization students are available to add.",
"no_matching_existing_students": "No organization students match your search.",
"notify_existing_students": "Send course access email",
"grant_access": "Grant Access",
"invite_new_students_title": "Invite new students",
"invite_new_students_description": "Invite new people into your organization and pre-assign them to this course. They will create an account, accept the invite, and get access.",
"invite_new_students": "Invite Students",
"existing_invites": "Existing Invites",
"refresh": "Refresh",
"loading_invites": "Loading invites...",
"no_invites_yet": "No invites created yet.",
"created": "Created",
"expires": "Expires",
"uses": "Uses",
"remaining": "remaining",
"opened": "Opened",
"joined": "Joined",
"email_sent": "Email sent",
"email_failed": "Email failed",
"copy_metadata": "Copy Metadata",
"revoke": "Revoke",
"view_audit": "View Audit",
"hide_audit": "Hide Audit",
"no_audit_events": "No audit events.",
"audit_at": "At",
"audit_email": "Email",
"audit_actor": "Actor",
"audit_ip": "IP",
"scan_qr": "Scan QR",
"classroomio_brand": "ClassroomIO.com",
"snackbar_invite_link_copied": "Invite link copied",
"snackbar_invite_link_regenerated": "A new invite link has been generated",
"snackbar_failed_generate_link": "Failed to generate invite link",
"snackbar_add_one_recipient": "Add at least one recipient email",
"snackbar_failed_create_email_invites": "Failed to create email invites",
"snackbar_invite_revoked": "Invite revoked",
"snackbar_failed_revoke_invite": "Failed to revoke invite",
"snackbar_failed_load_audit": "Failed to load invite audit",
"snackbar_metadata_copied": "Invite metadata copied",
"snackbar_email_invites_success": "Created {count} invite(s). Sent {sent}, failed {failed}. Skipped {duplicates} duplicate(s).",
"select_at_least_one_student": "Select at least one existing student"
},
"delete_confirmation": {
"title": "Delete",
"sure": "Are you sure you want to delete",
"no": "No",
"yes": "Yes"
},
"reset_progress": {
"button": "Reset progress",
"dialog": {
"title": "Reset progress for {studentName}?",
"intro": "This permanently deletes this student's progress in this course. They will stay enrolled and can restart from lesson 1.",
"bullets": {
"lessons": "Lessons completed — {completed} of {total}",
"exercises": "Exercises submitted — {count} submissions",
"comments": "Lesson comments by this student — {count}",
"newsfeed": "Course newsfeed posts and replies by this student — {count}",
"video_progress": "Video watch progress — {count} lessons tracked",
"attendance": "Attendance entries — {count}",
"certificate_yes": "Certification / compliance records — yes",
"certificate_no": "Certification / compliance records — no"
},
"warning": "This cannot be undone.",
"cancel": "Cancel",
"confirm": "Delete"
}
},
"roles": {
"admin": "Admin",
"tutor": "Tutor",
"student": "Student",
"filter": "Filter"
},
"teams": {
"add": "Add",
"add_team": "Add your team mates or collaborators to your organization. Start working together",
"invite": "Invite",
"placeholder": "[email protected], [email protected]",
"role": "Role",
"send_invite": "Send Invite",
"members": "Members",
"invite_sent": "Invite Sent",
"you": "You",
"remove": "Remove",
"link_invite": {
"heading": "Link Invite",
"description": "Anyone with this link can join your organization.",
"generate": "Generate Link",
"copy": "Copy",
"copy_invite_link": "Copy invite link",
"copied": "Copied!",
"toggle_label": "Link invite active",
"disabled_notice": "This link is disabled. Enable it to allow new members to join via link.",
"select_role": "Select a role"
}
}
},
"certificates": {
"title": "Certificates",
"certificate_settings": "Certificate Settings",
"tab_design": "Design",
"tab_settings": "Settings",
"theme": "Choose a theme",
"logo": "Brand Logo",
"to_update": "To update your brand image, go to",
"settings": "Settings > Organisation settings",
"and_upload": "and upload your brand logo",
"goto_settings": "Go to Settings",
"description": "Course Description",
"placeholder": "a little description about the course",
"allow": "Allow students download certificate",
"locked": "Locked",
"unlocked": "Unlocked",
"save": "Save Changes",
"unlocked_certificate": "Congrats! 🎉 your certificate is ready",
"unlocked_certificate_subtitle": "You have completed this course, and your dedication is evident. Download certificate and share with your network as a prove of your newly acquired skill",
"locked_certificate": "Certificates not available",
"instructor_unlock": "Your instructor needs to unlock your certificate.",
"contact_instructor": "If you need your certificate, please contact your instructor.",
"download_certificate": "Download Certificate",
"download_image": "Download as image",
"complete_to_download_title": "Course not complete 😔",
"complete_to_download_subtitle": "Your certificate will be available once you complete all lesson and exercises in this course",
"description_error": "Description cannot exceed 200 characters",
"characters": "characters",
"unexpected_error": "An unexpected error occurred",
"editor": {
"title": "Certificate design",
"back": "Back to certificates",
"save": "Save changes",
"discard": "Discard",
"saved": "Certificate design saved",
"unsaved": "Unsaved",
"free_plan": "Free plan",
"preview": "Live preview",
"sections": "Editor sections",
"panel_templates": "Templates",
"panel_templates_subtitle": "Pick a template to anchor the visual style.",
"panel_content": "Content",
"panel_content_subtitle": "Fine-tune the words that appear on the certificate.",
"panel_colors": "Accent color",
"panel_colors_subtitle": "Used for the recipient line, accents, and stamp.",
"panel_export": "Export",
"panel_export_subtitle": "Preview the current design as it will be delivered.",
"section_header": "Header copy",
"section_signatories": "Signatories",
"section_reference": "Reference",
"subtitle": "Subtitle",
"subtitle_placeholder": "Awarded with Highest Distinction",
"description_override": "Description override",
"description_override_placeholder": "Defaults to the course description.",
"description_override_hint": "Leave blank to fall back to the course description on save.",
"signatory_one_name": "Signatory 1 name",
"signatory_one_role": "Signatory 1 role",
"signatory_two_name": "Signatory 2 name",
"signatory_two_role": "Signatory 2 role",
"signatory_one_toggle": "Show signatory 1",
"signatory_two_toggle": "Show signatory 2",
"signature_upload": "Signature image",
"signature_upload_hint": "Upload a signature image (optional)",
"signature_dont_crop": "Don't Crop",
"signature_upload_in_progress": "Wait for the signature upload to finish before saving.",
"save_failed": "Could not save the certificate design. Check the form and try again.",
"id_format": "Certificate ID format",
"id_format_hint": "Use '{'seq'}' for the last four digits, '{'year'}' for the issue year, '{'month'}' for the month.",
"accent_hint": "Accent color appears on the recipient rule, stamps, and the template's headline highlight.",
"templates_hint": "Templates render with the same renderer used for the downloaded PDF and PNG.",
"download_pdf": "Download PDF",
"download_png": "Download PNG",
"print": "Print",
"export_hint": "Exports use your name as the recipient so you can preview the final layout.",
"preview_failed": "Could not generate certificate preview",
"sample_recipient": "Eleanor Vance",
"sample_course": "Certificate of Excellence",
"sample_description": "In recognition of outstanding achievement and exemplary dedication to the craft.",
"sample_org": "The Royal Academy of Arts",
"summary_title": "Active design",
"summary_subtitle": "Snapshot of how the certificate will look when issued.",
"field_template": "Template",
"field_accent": "Accent",
"field_signatories": "Signatories",
"customize_design": "Customize design"
}
},
"landing_page": {
"editor": {
"title": {
"header": "Header",
"requirement": "Requirement",
"description": "Description",
"goals": "Goals",
"reviews": "Reviews",
"instructor": "Instructor",
"pricing": "Pricing",
"certificate": "Certificate",
"curriculum": "Curriculum",
"chips": "Skills & Tools",
"skills": "Skills you'll gain",
"tools": "Tools you'll learn"
},
"skills_help": "Press Enter to add. These appear as chips below the curriculum.",
"tools_help": "Press Enter to add. These appear as chips below the curriculum.",
"skills_placeholder": "e.g. Data Analysis",
"tools_placeholder": "e.g. Figma",
"remove": "Remove",
"save": "Save",
"page_builder": "Page Builder",
"section": "section",
"display_section": "Display section",
"header_form": {
"title": "Title",
"description": "Description",
"short_video": "Short Video",
"replace_cover": "Cover image",
"replace": "Replace",
"remove": "Remove",
"no_cover": "No cover image set",
"helper": "Enter a link to a youtube video"
},
"reviews_form": {
"add_reviews": "Add Reviews",
"fullname": "Full Name",
"description": "Description",
"rating": "Rating",
"hide": "Hide Review",
"validations": {
"name": {
"min_char": "Name is too short, min of 5 character"
},
"avatar_url": {
"message": "Upload an image"
},
"rating": {
"message": "Rating must be from 1-5"
},
"description": {
"min_char": "'Description is too short, min of 5 characters"
}
}
},
"certificate_form": {
"upload_template": "Certificate template"
},
"instructor_form": {
"upload": "Instructor Logo",
"name": "Instructor name",
"name_placeholder": "Your company name",
"role": "Instructor Role",
"about": "About Instructor",
"about_placeholder": "A short background about the instructure",
"total": "Total number of courses"
},
"pricing_form": {
"currency": "Currency",
"cost": "Cost",
"payment": "Payment Link",
"discount": "Discount",
"no": "No",
"yes": "Yes",
"percent": "Discount Percent",
"gift": "About Gift"
}
},
"upload_widget": {
"title": "Banner Widget",
"width": "Images wider than 1500 pixels work best.",
"size": "The maximum size per file is 500kb.",
"drag_drop": "Drag and drop your image here, or click to select",
"submit": "Submit",
"no_images": "No images available."
},
"pricing_section": {
"free": "Free",
"not_accepting": "This course is currently not accepting new students.",
"discount": "Discount",
"enroll": "Enroll Now",
"buy": "Buy Now",
"bird": "Early bird offer. Buy ASAP"
},
"enroll_page": {
"requires_payment_or_invite": "You need to pay for this course or be invited to get access.",
"back_to_course": "Back to course",
"join_course": "Join Course",
"enrolled_success": "You're enrolled in this course.",
"enrolled_verify_email": "You're enrolled! Verify your email to access this course.",
"student_limit_reached": "{orgName} has reached its student capacity. Please contact your organization administrator."
},
"course_content": "Course content",
"modules": "modules",
"lessons": "lessons",
"exercises": "exercises",
"start_course": "Start Course",
"requirement": "Requirement",
"description": "Course Description",
"learn": "What you'll learn",
"certificate": "Certificate",
"certificate_text": "When you complete all of the courses in the cohort, you'll earn a Certificate to share with your professional network.",
"content": "Course Content",
"slide": "1 slide",
"note": "note",
"video": "video",
"reviews": "Reviews",
"see_all": "See All",
"header_video": "Header video",
"no_course_published": "No Course Published",
"coming_your_way": "We've got great courses coming your way, stay tuned!!!",
"view_less": "View Less",
"view_all": "View All",
"thank_you": "Thank you for dropping a message, we will get back to you shortly",
"name": "Your Name",
"email": "Your Email",
"phone": "Your Phone",
"message": "Your Message",
"your_message": "Your message here",
"submit": "Submit",
"successful_sub": "You have been added successfully. Thanks for subscribing.",
"enter": "Enter your email...",
"powered_by": "Powered by",
"landing_page": "Landing Page",
"explore": "Explore courses",
"find": "Find courses you will love from best teachers all over the world",
"find_course": "Find a course...",
"reviews_modal": {
"title": "Reviews",
"rating": "Rating",
"ratings": "Ratings"
},
"instructor": "Instructor",
"courses": "courses"
},
"analytics": {
"title": "Analytics"
},
"settings": {
"heading": "Settings",
"cover_image": "Cover Image",
"optional_image": "This optional image will show up on your welcome page. If you include one, it should be at least 280 x 200",
"replace": "Replace",
"del": "Delete",
"course_details": "Course Details",
"course_title": "Course title",
"course_description": "Course Description",
"placeholder": "Write your course description here",
"course_title_placeholder": "Write the course title here",
"setup_landing_for_link": "Setup landing page to get course link",
"coming_soon": "Coming soon",
"link": "Course Link",
"grading": "Grading",
"reports": "Make grading reports available for lessons",
"disabled": "Disabled",
"enabled": "Enabled",
"order": "Order Lessons Tab",
"drag": "Drag and drop the labels to re-order your material tabs",
"welcome_email": {
"title": "Welcome email",
"description": "Customize the email students receive after they enroll. Add a personal note, instructions, or a live session link.",
"placeholder": "Write the welcome message students get when they enroll…"
},
"content_grouping_title": "Content grouping",
"content_grouping_description": "Group lessons and exercises by section in the content list.",
"progression_mode_title": "Student progression",
"progression_mode_description": "Control whether students can access all unlocked content or must complete items in order.",
"progression_mode_free": "Free — unlocked content is accessible",
"progression_mode_sequential": "Sequential — complete prior items to unlock next",
"lesson_download": "Lessons DownLoad",
"available": "Make the Lesson available for Download in pdf for registered students",
"course_download": "Course Downlaod",
"course_avail": "Make the Course available for Download for registered students",
"download": "Download",
"allow": "Allow New Students",
"access": "Allow new students to access this course",
"publish": "Publish Course",
"determines": "This determines if your course displays on your landing page",
"published": "Published",
"unpublished": "Unpublished",
"locked_content": {
"title": "{count} course item(s) are locked",
"description": "Enrolled students won't be able to take locked lessons or exercises until you unlock them.",
"description_live": "Locked lessons and exercises stay hidden from students until you unlock them — useful if you release content week by week.",
"unlock_all": "Unlock all"
},
"type": "Course type",
"course_type_desc": "Update the course type for a more personalized experience.",
"course_type_learn_more": "Learn more",
"live_class": "Live class",
"self_paced": "Self paced",
"compliance": "Compliance",
"public": "Public",
"convert_to_public_blocked": "This course has questions that can’t be auto-graded, so it can’t be made Public yet.",
"fix_blocking_questions": "Fix blocking questions",
"callout": {
"legend": "Public course callout",
"description": "Shown at the bottom of each lesson and in place of locked items. Use it to drive students to your site or a paid course.",
"title_label": "Title",
"title_placeholder": "Want to go deeper on this?",
"description_label": "Description",
"description_placeholder": "Join the full cohort to ship a production-grade project in 4 weeks.",
"button_label": "Button label",
"button_label_placeholder": "Read more on my site",
"button_url_label": "Button URL",
"button_url_placeholder": "https://example.com",
"clear": "Clear callout",
"public_only": "Callouts only appear on Public courses.",
"animation_label": "Background animation",
"animation_description": "Choose the motion that plays behind the callout card.",
"animation_waves": "Waves",
"animation_dotted": "Dotted",
"animation_none": "None"
},
"slug": {
"label": "URL slug",
"description": "The last segment of this item’s public URL. Only letters, numbers, and dashes.",
"public_only": "Slugs are only editable on Public courses.",
"in_use": "That slug is already used by another item in this course."
},
"tags": {
"title": "Tags",
"description": "Assign tags so students can discover this course with filters.",
"empty": "No tags selected",
"add": "Add tag",
"popover_title": "Select tags",
"empty_groups": "No tags available yet"
},
"delete": "Delete Course",
"delete_text": "Delete this course,this action cannot be undone",
"save": "Save Changes"
}
},
"not_permitted": {
"header": "No Permission",
"body": "Unfortunately you don't have access to this course.",
"button": "Go home"
}
},
"community": {
"title": "Community",
"page_subtitle": "Questions and answers shared across your organization's courses.",
"ask_button": "Ask Community",
"question": {
"page_subtitle": "Follow answers, vote, and join the discussion."
},
"ask": {
"page_subtitle": "Start a thread the whole community can see, and tie it to a course if you want.",
"go_back": "Go Back",
"ask_the": "Ask the community",
"publish": "Publish",
"title": "Title",
"select_course": "Select Course",
"ask_community": "Ask the community any question you might have",
"question": "Question",
"save": "Save",
"edit": "Edit",
"cancel": "Cancel",
"give": "Give an answer",
"comment": "Comment"
},
"find_question": "Find Question",
"asked": "asked",
"answers": "answers",
"no_question": "No Questions asked",
"ask_a_question": "Ask a question to the community",
"delete": {
"title": "Delete",
"question": "question",
"comment": "comment",
"sure": "Are you sure you want to delete this",
"no": "No, keep it",
"yes": "Yes, delete"
},
"all": "All"
},
"audience": {
"title": "Audience",
"page_subtitle": "See who belongs to your org, who is learning, who is invited, and how to reach them.",
"export": "Export",
"import_users": "Import Users",
"import_limit_reached": "You've reached your plan's student limit. Upgrade to import more students.",
"no_audience": "No audience to manage",
"manage": "Manage all your students here and stay connected with them",
"name": "Name",
"email": "Email",
"search_placeholder": "Search…",
"status": "Status",
"status_active": "Active",
"status_pending": "Pending",
"status_expired": "Expired",
"status_revoked": "Revoked",
"date_joined": "Date Joined",
"upgrade": "Upgrade your plan to invite more students",
"select_all": "Select all",
"selected_count": "{count} selected",
"assign_courses": "Assign to Courses",
"delete": {
"action": "Delete",
"title": "Delete member",
"description": "This removes the member from your organization and revokes their access to all assigned courses and cohorts.",
"confirmation": "Are you sure you want to delete {name} ({email})? This action cannot be undone.",
"cancel": "Cancel",
"confirm": "Delete",
"snackbar_success": "Member deleted"
},
"user_analytics": {
"title": "Student profile",
"page_subtitle": "Progress, grades, and activity across their courses."
},
"import": {
"page_subtitle": "Add many people at once by email, then assign courses or cohorts if you like.",
"title": "Import Users",
"description": "Add students to your organization by entering their email addresses. Optionally assign them to courses or cohorts and send invitation emails.",
"emails_label": "Email Addresses",
"emails_placeholder": "Enter emails separated by commas, newlines, or semicolons\ne.g. [email protected], [email protected]",
"course_access": "Course Access",
"no_courses": "No course assignment",
"all_courses": "All courses",
"select_courses": "Select specific courses",
"select_courses_placeholder": "Choose courses...",
"select_cohorts_placeholder": "Choose cohorts...",
"send_email": "Send invitation email to imported users",
"submit": "Import Users",
"back": "Back to Audience",
"snackbar_success": "{imported} new invites, {assigned} existing students given access, {pendingInvitesRenewed} pending invites renewed ({emailsSent} emails sent)",
"snackbar_no_emails": "Please enter at least one email address",
"snackbar_failed": "Failed to import users",
"cohort_access": "Cohort Access",
"no_cohorts": "No cohort assignment",
"all_cohorts": "All cohorts",
"select_cohorts": "Select specific cohorts"
},
"assign": {
"title": "Assign to Courses",
"description": "Give the selected users access to courses and optionally notify them by email.",
"select_courses": "Select courses",
"select_courses_placeholder": "Choose courses...",
"send_email": "Send notification email",
"submit": "Assign",
"cancel": "Cancel",
"snackbar_success": "Assigned {assigned} users ({alreadyEnrolled} already had access, {emailsSent} emails sent)",
"snackbar_no_courses": "Please select at least one course",
"snackbar_failed": "Failed to assign courses"
},
"invite": {
"row_actions_aria": "Open actions",
"resend": "Resend invite",
"revoke": "Revoke pending invite",
"resend_snackbar_success": "Invitation email sent",
"resend_snackbar_email_failed": "Invite was renewed but the email could not be sent",
"revoke_snackbar_success": "Pending invitation revoked"
}
},
"analytics": {
"title": "Analytics",
"courses": "Courses",
"progress": "Progress",
"progress_description": "{value, number} of {total, number} complete",
"incomplete": "Incomplete",
"completed": "Completed",
"complete": "complete",
"last_seen": "Last seen",
"a_while_ago": "a while ago",
"exercises": "Exercises",
"graded": "Graded",
"not_graded": "Not Graded",
"enrolled_courses": "Enrolled Courses",
"enrolled_courses_description": "All enrolled courses",
"overall_course_progress": "Overall Course Progress",
"overall_course_progress_description": "Percentage of completed lessons",
"total_average_grade": "Total Average Grade",
"total_average_grade_description": "Based on exercise grades across all course",
"overall_course_progress_user_description": "Based on lesson completion",
"assignment_completion": "Assignment Completion",
"assignment_completion_description": "Percentage of completed assignments",
"average_grade_description": "Average grade of all completed assignments",
"students": "Students",
"lessons": "Lessons",
"tutors": "tutors",
"avg_grade": "Avg grade",
"completion_rate": "Completion rate",
"student_progress_overview": "Student Progress Overview",
"student_name": "Student Name",
"lessons_completed": "Lessons Completed",
"exercises_submitted": "Exercises Submitted",
"average_grade": "Average Grade",
"actions": "Actions",
"view_details": "View Details",
"no_students_found": "No Students Found",
"no_students_description": "There are no students enrolled in this course yet. Students will appear here once they join the course.",
"showing_students": "Showing {start} to {end} of {total} students",
"no_analytics_data": "No Analytics Data",
"no_analytics_description": "Unable to load analytics data for this course. Please try again later or contact support if the issue persists.",
"student": "Student",
"student_progress_distribution": "Student Progress Distribution",
"grade_distribution": "Grade Distribution",
"progress_80_plus": "80%+ Progress",
"progress_60_79": "60-79% Progress",
"progress_below_60": "Below 60% Progress",
"grade_90_plus": "90%+ Grade",
"grade_80_89": "80-89% Grade",
"grade_70_79": "70-79% Grade",
"grade_below_70": "Below 70% Grade",
"number_of_students": "Number of Students",
"progress_range": "Progress Range",
"grade_range": "Grade Range",
"no_progress_data": "No progress data available",
"no_grade_data": "No grade data available",
"loading_chart": "Loading chart...",
"no_data_default": "No data available",
"no_data_default_description": "There is no data to display at this time.",
"subtitle": "Understand how visitors discover your courses and convert into students.",
"course_metrics": {
"page_subtitle": "Enrollment, lesson completion, grades, and per-student progress for this course.",
"progress_distribution_card_description": "How many students fall into each completion band.",
"grade_distribution_card_description": "How many students fall into each grade band.",
"students_table_description": "Sortable overview with links to student profiles.",
"kpi_team_tutors": "{count, plural, one {# tutor on the course team} other {# tutors on the course team}}",
"kpi_lessons_exercises": "{count, plural, one {# exercise} other {# exercises}} mapped to lessons",
"kpi_progress_grade": "{grade}% average exercise grade across enrolled students"
},
"tabs": {
"overview": "Overview",
"funnel": "Funnel",
"geography": "Geography",
"course_types": "Course types"
},
"range": {
"7d": "Last 7 days",
"30d": "Last 30 days",
"90d": "Last 90 days"
},
"refresh": "Refresh",
"kpi": {
"landing_views": "Landing views",
"unique_visitors": "Unique visitors",
"course_page_views": "Course page views",
"enrollments": "Enrollments",
"range_description": "In selected range"
},
"trend": {
"heading": "Traffic over time",
"description": "Page views and enrollments by day",
"empty": "No traffic in the selected range",
"views": "Views",
"enrollments": "Enrollments"
},
"funnel": {
"heading": "Conversion funnel",
"description": "From first visit to course completion",
"empty": "No funnel data yet",
"step": {
"landing_view": "Landing views",
"course_page_view": "Course page views",
"enrollment_completed": "Enrollments",
"course_completed": "Completions"
}
},
"countries": {
"heading": "Top countries",
"subtitle": "{total} visitors total",
"empty": "No location data yet",
"country": "Country",
"visitors": "Visitors",
"enrollments_short": "enrolled"
},
"popularTypes": {
"heading": "Popular course types",
"description": "Enrollments grouped by course type",
"subtitle": "{total} enrollments across all types",
"empty": "No enrollment data yet",
"course_count": "{count, plural, one {# course} other {# courses}}",
"views_short": "views",
"types": {
"SELF_PACED": "Self-paced",
"LIVE_CLASS": "Live class",
"COMPLIANCE": "Compliance",
"PUBLIC": "Public"
}
}
},
"upgrade": {
"certificate": "Upgrade your plan to generate certificates",
"team": "Upgrade your plan to add team members",
"domain": "Upgrade your plan to add custom domains",
"team_members": "Team members",
"back": "Back to Settings",
"download_lessons": "Upgrade to download lessons",
"download_course": "Upgrade to download course",
"required": "Upgrade Required",
"enterprise_required": "This feature requires an Enterprise plan.",
"public_api_required": "Upgrade to Early Adopter or Enterprise to access the public API."
},
"automation": {
"title": "Automation",
"subtitle": "Connect MCP clients now, with Zapier and the public API following on the same org-scoped key system.",
"coming_soon": "Coming soon",
"permissions": {
"disabled_title": "Read-only access",
"disabled_description": "Only organization admins can create, rotate, or revoke automation keys. Teachers can review the setup instructions here."
},
"tabs": {
"mcp": "MCP",
"zapier": "Zapier",
"api": "API"
},
"clients": {
"claude_code": "Claude Code",
"codex": "Codex",
"cursor": "Cursor",
"opencode": "OpenCode",
"curl": "cURL",
"javascript": "JavaScript",
"python": "Python",
"go": "Go"
},
"keys": {
"active": "Active",
"revoked": "Revoked",
"rotate": "Rotate",
"revoke": "Revoke",
"empty_title": "No MCP keys yet",
"empty_description": "Create the first org-scoped MCP key to connect Claude Code, Codex, Cursor, or OpenCode.",
"created_at_label": "Created:",
"last_used_label": "Last used:",
"never_used": "Never",
"table_key": "Key",
"table_status": "Status",
"table_created": "Created",
"table_last_used": "Last used",
"scopes_label": "Scopes:",
"revoke_confirm": "Revoke this automation key?",
"rotate_confirm": "Rotate this automation key?"
},
"mcp": {
"page_subtitle": "Connect AI tools to ClassroomIO with org-scoped keys you can rotate anytime.",
"usage": {
"title": "Usage and limits",
"description": "MCP is available on every plan, but usage is controlled with monthly automation credits and key limits.",
"credits_title": "Credits remaining",
"credits_description": "Mutating MCP actions consume credits. Read actions are free.",
"keys_title": "Active keys",
"keys_description": "Use one MCP key per integration so access can be rotated or revoked cleanly.",
"rate_limits_title": "Rate limits",
"rate_limits_description": "Read / write / publish requests allowed per minute.",
"used_label": "Used:"
},
"keys": {
"title": "MCP keys",
"description": "These keys authenticate the current organization when an MCP client calls ClassroomIO through `@classroomio/mcp`.",
"generate": "Generate MCP key",
"secret_once": "This secret is shown once. Copy it into your MCP client now.",
"modal": {
"title": "Create MCP key",
"description": "Choose a name for this MCP key before it is generated.",
"name_label": "Key name",
"name_placeholder": "ClassroomIO OpenCode",
"cancel": "Cancel",
"save": "Create key"
}
},
"setup": {
"title": "Client setup",
"description": "Use one org-scoped key per integration. If a key is rotated or revoked, the client stops working until the new secret is configured.",
"claude_code_description": "Registers `@classroomio/mcp` with Claude Code using the generated org-scoped key.",
"codex_description": "Adds the ClassroomIO MCP server to Codex with the same org-scoped key.",
"cursor_description": "Paste this into `~/.cursor/mcp.json` or your workspace MCP config.",
"opencode_description": "Add this to `opencode.json` in your project root or `~/.config/opencode/opencode.json`."
}
},
"api": {
"subtitle": "Manage API keys to integrate with the ClassroomIO public API.",
"keys": {
"title": "API keys",
"description": "These keys authenticate the current organization when calling the ClassroomIO public API.",
"generate": "Generate API key",
"secret_once": "This secret is shown once. Copy it and store it securely.",
"empty_title": "No API keys yet",
"empty_description": "Create the first org-scoped API key to use the ClassroomIO public API.",
"modal": {
"title": "Create API key",
"description": "Choose a name for this API key before it is generated.",
"name_label": "Key name",
"name_placeholder": "My API integration",
"cancel": "Cancel",
"save": "Create key"
}
},
"setup": {
"title": "Quick start",
"description": "Use your API key as a Bearer token on every request. Replace the placeholder with a key from above, or paste the secret immediately after you generate one."
},
"view_docs": "View Docs"
},
"zapier": {
"page_subtitle": "Automate ClassroomIO with thousands of apps through Zapier. Coming soon."
}
},
"lms_navigation": {
"home": "Home",
"my_learning": "My Learning",
"certificates": "Certificates",
"exercise": "Exercise",
"community": "Community",
"explore": "Explore",
"help": "Help",
"settings": "Settings",
"cohorts": "Cohorts"
},
"my_learning": {
"heading": "My Learning",
"progress": "In progress",
"complete": "Complete",
"search": "Search courses",
"not_in_progress": "No Course In progress",
"any_progress": "Any course that you start will be displayed here",
"not_completed": "No Course Completed",
"any_course": "Any course that you complete will be displayed here",
"find_courses": "Find courses"
},
"certificates": {
"heading": "Certificates",
"description": "View and download certificates you've earned by completing courses.",
"search": "Search certificates",
"earned_on": "Earned on",
"view_certificate": "View Certificate",
"empty_title": "No certificates yet",
"empty_description": "Complete a course to earn your first certificate. Your earned certificates will appear here.",
"no_results_title": "No certificates found",
"no_results_description": "Try a different search term.",
"go_to_my_learning": "Go to My Learning"
},
"exercises": {
"heading": "Exercises",
"not_submitted": "Not Submitted",
"submitted": "Submitted",
"in_progress": "Grading In Progress",
"graded": "Graded",
"lesson": "Lesson"
},
"explore": {
"heading": "Explore our courses",
"empty_heading": "No course available",
"empty_description": "There are currently no published course available"
},
"snackbar": {
"success": "Success",
"success_update": "Updated successfully",
"success_delete": "Deleted successfully",
"error_update": "Failed to update",
"social_auth_not_enabled": "This auth provider isn't enabled.",
"automation": {
"created": "Automation key created. Save it now because the full secret is only shown once.",
"rotated": "Automation key rotated. Save the new secret now because it will not be shown again.",
"revoked": "Automation key revoked."
},
"token_auth": {
"created": "Signing secret created. Save it now—it won't be shown again.",
"rotated": "Signing secret rotated. Save the new secret—it won't be shown again.",
"deleted": "Token auth removed.",
"activated": "Token auth enabled.",
"deactivated": "Token auth disabled."
},
"ai_credits": {
"purchase_success": "AI credit pack added to your balance.",
"checkout_failed": "Could not start checkout. Please try again."
},
"account": {
"workspaceCreated": "Workspace created",
"workspaceDeleted": "Workspace deleted",
"workspace_limit_reached": "You've reached your workspace limit. Contact us to expand.",
"plan_upgrade_required": "Multi-workspace is an Enterprise feature. Upgrade to add more workspaces.",
"workspace_is_primary": "You can't delete the primary workspace.",
"workspace_not_found": "Workspace not found.",
"not_primary_workspace": "Switch to your primary workspace to manage account workspaces."
},
"public_course": {
"url_copied": "Course URL copied",
"url_copy_failed": "Could not copy URL"
},
"view_as_student": {
"failed": "Couldn't open the student view. Please try again."
},
"something": "Something went wrong - Please try later",
"update": "Update",
"update_failed": "Update failed",
"media_manager": {
"list_failed": "Failed to load media assets",
"storage_failed": "Failed to load storage summary",
"create_failed": "Failed to create media asset",
"attach_failed": "Failed to attach media asset",
"detach_failed": "Failed to detach media asset",
"resolve_video_failed": "Failed to resolve media playback URL",
"update_failed": "Failed to update media asset",
"update_success": "Media asset updated",
"usage_failed": "Failed to load asset usage",
"delete_success": "Video deleted",
"delete_in_use": "This video is still attached to a lesson. Remove it there first.",
"delete_failed": "Failed to delete video",
"added_to_lesson": "Video added to lesson",
"download_failed": "Failed to get asset download URL",
"thumbnail_uploaded": "Thumbnail uploaded",
"thumbnail_upload_failed": "Failed to upload thumbnail",
"thumbnail_too_large": "Thumbnail image is too large",
"thumbnail_invalid": "Invalid thumbnail file",
"thumbnail_updated": "Thumbnail updated",
"thumbnail_update_failed": "Failed to update thumbnail",
"thumbnail_regen_started": "Regenerating thumbnails…",
"thumbnail_regen_failed": "Failed to regenerate thumbnails",
"transcription_started": "Transcription started",
"transcription_start_failed": "Could not start transcription",
"transcription_already_running": "A transcription job is already in progress for this video",
"transcription_completed": "Transcription finished",
"transcript_fetch_failed": "Could not load transcript",
"transcript_saved": "Transcript updated",
"transcript_save_failed": "Could not save transcript"
},
"lesson_video": {
"generate_1080_completed": "1080p rendition added",
"generate_1080_failed": "Could not generate 1080p rendition"
},
"poll": {
"error": {
"creating_poll": "An error occurred while creating poll",
"updating_poll": "An error occurred while updating poll status",
"submitting_poll": "An error occurred while submitting poll"
},
"info": {
"not_published": "Poll is not published yet",
"vote_once": "You can only vote once"
}
},
"exercise": {
"points_required_auto_grade": "Set a positive point value for every question before saving.",
"passed_requires_points": "Passed completion needs at least one point available.",
"success": "Saved Successfully",
"submission_updated": "Submission updated to",
"error_fetching": "Fetching exercises failed, please reload the page"
},
"materials": {
"apology": "We apologise, there was an error saving your lesson.",
"update_translations": "Updating translations failed",
"creating_new": "Creating new translations failed"
},
"newsfeed": {
"success": {
"edit": "Feed edited successfully",
"add": "New feed added successfully"
},
"error": {
"error": "An error occurred while",
"editing": "editing feed",
"creating": "creating feed"
}
},
"people": {
"error": {
"missing_data": "Org data missing, please reload the page",
"no": "No current org domain"
},
"success": {
"copied": "Copied to clipboard"
}
},
"course_settings": {
"success": {
"unlocked_all_content": "All course items unlocked",
"all_content_already_unlocked": "All content is already unlocked",
"content_grouping_enabled": "Content grouping enabled",
"content_grouping_disabled": "Content grouping disabled",
"download": "Download Complete",
"saved": "Saved successfully",
"successful_integration": "Integration successful",
"successful_deletion": "Integration deleted",
"update_successful": "Update successful"
},
"error": {
"not_right": "Something's not right - Please try later",
"went_wrong": "Something went wrong - Please try later",
"title": "title cannot be empty",
"description": "description cannot be empty",
"failed_integration": "Integration Failed, please try again later",
"failed_deletion": "Deletion Failed, please try again later"
}
},
"course": {
"success": {
"comment_deleted": "Comment Deleted",
"comment_added": "Comment added",
"pinned": "Pinned",
"unpinned": "Unpinned",
"successfully": "Successfully",
"feed_delete_success": "Feed deleted successfully"
},
"error": {
"reaction_error": "An error occurred while reacting to news feed",
"commenting_error": "An error occurred while creating comment",
"toggle_error": "Failed to toggle pinned feed",
"news_feed_fail": "Failed to fetch news feeds",
"feed_fetch_error": "An error occured while fetching feed"
},
"people": {
"progress_reset": "Progress reset",
"progress_reset_failed": "Failed to reset progress"
}
},
"lms": {
"error": {
"username_exists": "username already exists",
"update": "Update failed:",
"try_again": "Please try again"
}
},
"team_members": {
"invite_sent": "Invite Sent!",
"user_exists": "User Already Exists",
"invite_fail": "Failed to send invite, please try again",
"remove_fail": "Failed to remove user, please try again",
"remove_success": "Member removed successfully"
},
"link_invite": {
"generated": "Link invite generated",
"enabled": "Link invite enabled",
"disabled": "Link invite disabled"
},
"tags": {
"group_created": "Tag group created",
"group_updated": "Tag group updated",
"tag_created": "Tag created",
"tag_updated": "Tag updated",
"course_tags_updated": "Course tags updated",
"fetch_failed": "Failed to load tags",
"save_failed": "Failed to save tag changes"
},
"landing_page_settings": {
"error": {
"file_size": "File Size must not be greater than 500kb",
"try_again": "Try Again",
"label": "Upload Image",
"fetch_error": "Error fetching images from Unsplash",
"upload_failed": "Failed to upload image. Please try again."
},
"success": {
"complete": "Complete :)"
}
},
"attendance": {
"error": {
"reload": "Something isn't right. Please reload and take attendance again"
}
},
"lessons": {
"lesson_created": "Lesson created successfully",
"lesson_create_failed": "Failed to create lesson",
"lesson_deleted": "Lesson deleted successfully",
"lesson_delete_failed": "Failed to delete lesson",
"lesson_update_failed": "Failed to update lesson",
"section_created": "Course section created successfully",
"section_create_failed": "Failed to create course section",
"section_deleted": "Course section deleted successfully",
"section_update_failed": "Failed to update course section",
"sections_reordered": "Course sections reordered successfully",
"sections_reorder_failed": "Failed to reorder course sections",
"lessons_reordered": "Lessons reordered successfully",
"lessons_reorder_failed": "Failed to reorder lessons",
"comment_fetch_failed": "Failed to fetch lesson comments",
"load_more_comments_failed": "Failed to load more comments",
"comment_add_failed": "Failed to add comment",
"comment_updated": "Comment updated successfully",
"comment_update_failed": "Failed to update comment",
"comment_deleted": "Comment deleted successfully",
"comment_delete_failed": "Failed to delete comment",
"completion_update_failed": "Failed to update lesson completion",
"success": {
"complete_marked": "Marked as complete",
"complete_download": "Download Complete",
"version_restored": "Version restored sucessfully"
},
"error": {
"try_later": "Something's not right - Please try later",
"exercise_not_complete": "Complete all exercises to mark as complete"
}
},
"marks": {
"error": "Error fetching marks"
},
"submissions": {
"success": {
"grading": "Grading saved and student notified"
}
},
"invite": {
"failed_join": "Joining failed, please contact your admin"
},
"community": {
"error": {
"try_again": "Error - Please try again later",
"deleting_comments": "Error deleting comments",
"deleting_question": "Error deleting question"
},
"success": {
"question_updated": "Question Updated!",
"comment_submitted": "Comment Submitted!",
"success_delete": "Deleted successfully",
"question_submitted": "Question Submitted!"
}
},
"signup": {
"disposable": "The email you provided is disposable"
},
"upgrade": {
"generate_fail": "Failed to generate success",
"failed": "Failed, please try again later"
},
"setup": {
"info_lesson": "You Need to Create a lesson",
"info_course": "You need to create a course"
},
"generic": {
"success_delete": "Deleted successfully",
"try_again": "Error - Please try again later"
},
"cohort": {
"success": {
"comment_deleted": "Comment deleted",
"comment_added": "Comment added",
"feed_delete_success": "Post deleted successfully",
"post_created": "Post created successfully",
"post_updated": "Post updated successfully"
},
"error": {
"reaction_error": "An error occurred while reacting to the post",
"news_feed_fail": "Failed to fetch cohort newsfeed",
"post_create_failed": "Failed to create post",
"post_update_failed": "Failed to update post",
"code": {
"cohort_forbidden": "You must be a member of this cohort to perform this action.",
"cohort_member_check_failed": "We could not verify your cohort membership. Try again.",
"cohort_not_found": "This cohort could not be found.",
"cohort_create_failed": "Could not create the cohort.",
"cohort_update_failed": "Could not update the cohort.",
"cohort_delete_failed": "Could not delete the cohort.",
"cohort_member_not_found": "That cohort member could not be found.",
"cohort_newsfeed_not_found": "That post could not be found.",
"cohort_newsfeed_comment_not_found": "That comment could not be found."
}
}
}
},
"specialization": {
"course_tag": "Specialization"
},
"invite": {
"organization": {
"page_title": "Join {orgName} on ClassroomIO",
"invitation_student": "You've been invited into {orgName} as a student.",
"invitation_teacher": "You've been invited into {orgName} as a teacher.",
"invitation_admin": "You've been invited into {orgName} as an admin.",
"invitation_fallback": "You've been invited into {orgName} as {role}.",
"email_line": "Email: {email}",
"accept_button": "Accept invitation",
"go_to_dashboard": "Go to Dashboard",
"messages": {
"email_mismatch": "You are logged in with a different email from this invite.",
"expired": "This invite link has expired.",
"revoked": "This invite link has been revoked.",
"accepted": "This invite has already been used.",
"invalid": "This invite link is not valid.",
"joined": "Joined organization",
"join_failed": "Failed to join organization"
}
},
"link": {
"page_title": "Join {orgName} on ClassroomIO",
"invitation_student": "You've been invited to join {orgName} as a student.",
"invitation_teacher": "You've been invited to join {orgName} as a teacher.",
"invitation_admin": "You've been invited to join {orgName} as an admin.",
"invitation_fallback": "You've been invited to join {orgName} as {role}.",
"accept_button": "Join organization",
"go_to_dashboard": "Go to Dashboard",
"disabled": "This invite link has been disabled by the organization.",
"join_failed": "Failed to join organization",
"joined": "Joined organization"
}
},
"content": {
"heading": "Internationalization in SvelteKit",
"toggle_label": "Select Preferred Language"
},
"generic": {
"locked": "Locked",
"unlocked": "Unlocked",
"loading": "Loading"
},
"validations": {
"user_profile": {
"email": "Invalid email address",
"username": "Username cannot be empty",
"fullname": "Name should be minimum of 5 characters"
},
"organization_name": {
"min_char": "Organization must contain 5 or more characters",
"hyphen_rule": "Organization name cannot start or end with a hyphen"
},
"site_name": {
"min_char": "Academy subdomain must contain 5 or more characters",
"hyphen_rule": "Academy subdomain cannot start or end with a hyphen"
},
"news_feed": {
"min_char": "Field must contain 5 or more characters"
},
"lesson_schema": {
"empty_title": "Title cannot be empty"
},
"create_quiz": {
"min_char": "Must be 6 or more characters long"
},
"ask_community": {
"title": {
"min_char": "Must be 6 or more characters long"
},
"body": {
"min_char": "Must be 10 or more characters long"
},
"course_id": {
"select_course": "Select a Course"
}
},
"comment_in_community": {
"min_char": "Must be 6 or more characters long"
},
"org_landing_page": {
"name": {
"min_char": "Must be 6 or more characters long"
},
"email": {
"invalid_email": "Invalid email address"
},
"phone": {
"min_char": "Must be 6 or more characters long"
},
"message": {
"min_char": "Must be 10 or more characters long"
}
},
"forgot": {
"invalid_email": "Invalid email address"
},
"auth": {
"email": {
"invalid_email": "Invalid email address"
},
"password": {
"min_char": "Must be 6 or more characters long"
}
},
"reset": {
"password": {
"min_char": "Must be 6 or more characters long"
}
},
"onboarding": {
"step_one": {
"full_name": {
"min_char": "Fullname must contain 5 or more characters"
}
},
"step_two": {
"goal": {
"required": "Select an option"
},
"source": {
"required": "Select an option"
}
}
},
"confirm_password": {
"not_match": "Does not match password"
},
"course_payment": {
"full_name": {
"min_char": "Must be 6 or more characters long"
},
"email": {
"invalid_email": "Invalid email address"
}
},
"email": {
"not_valid": "Not valid email"
},
"exercise": {
"question": {
"too_small": "Question title is required"
},
"label": {
"too_small": "Option label is required"
},
"points": {
"too_small": "Points must be at least 0"
},
"options": {
"custom": "{message}"
}
},
"generic": {
"invalid_type": "Invalid type{expected, select, undefined{} other{. Expected {expected}}}{received, select, undefined{} other{ (received {received})}}",
"too_big": "Value is too large{maximum, select, undefined{} other{. Maximum {maximum}}}",
"too_small": "Value is too small{minimum, select, undefined{} other{. Minimum {minimum}}}",
"invalid_format": "Invalid format{validation, select, undefined{} other{ for {validation}}}",
"not_multiple_of": "Value must be a multiple of {multipleOf}",
"unrecognized_keys": "Contains unrecognized keys{keys, select, undefined{} other{: {keys}}}",
"invalid_union": "Invalid value for provided options{unionErrors, select, undefined{} other{. {unionErrors} option(s) failed}}",
"invalid_key": "Invalid key{key, select, undefined{} other{: {key}}}",
"invalid_element": "Invalid element{index, select, undefined{} other{ at index {index}}}",
"invalid_value": "Invalid value{expected, select, undefined{} other{. Expected {expected}}}{received, select, undefined{} other{ (received {received})}}",
"custom": "{message}",
"required_field": "This field is required",
"invalid_field": "Invalid value"
}
},
"ai_assistant": {
"empty_state": "Ask me to help with your course content — draft lessons, generate questions, or plan a course from a document.",
"student_empty_state": "Ask me anything about this course — get explanations, quiz yourself, or summarize what you're reading.",
"messages_used_label": "messages this month",
"quick_action": {
"upload_document_course": "Upload a document to create a course",
"draft_lesson": "Draft a lesson",
"generate_questions_from_lesson": "Generate questions from this lesson",
"summarize_lesson": "Summarize this lesson",
"publish_course": "Help me publish this course"
},
"student_quick_action": {
"explain_lesson": "Explain this lesson",
"quiz_me": "Quiz me on this",
"summarize_section": "Summarize this section",
"what_to_review": "What should I review next?"
},
"plan_applying_changes": "Applying changes",
"plan_working": "Working",
"plan_thinking": "Thinking through your request…",
"plan_progress": "{completed} / {total} steps completed",
"run_running": "Generating course",
"run_completed": "Course generation complete",
"run_failed": "Course generation failed",
"run_canceled": "Course generation canceled",
"run_waiting_for_worker": "Getting things ready…",
"run_checkpoint": "Saving progress checkpoint",
"plan_implement": "Implement Plan",
"plan_ask_changes_placeholder": "Tell me what to change about the plan…",
"plan_ask_changes_send_aria": "Send change request",
"stop": "Stop",
"send": "Send",
"copy_full_error": "Copy full error",
"resize_panel_aria_label": "Resize AI assistant panel",
"generic_working": "Working",
"input_placeholder": "Ask the AI assistant...",
"ask_ai": "Ask AI",
"content_input_placeholder": "Ask about this content…",
"ask_ai_expand_aria": "Open Ask AI input",
"ask_ai_input_aria": "Ask AI about this content",
"quote_lesson_note": "Quote in assistant",
"attach_document": "Attach a document (PDF, DOCX, PPTX, ODT)",
"upload_error_file_too_large": "File is too large. Maximum size is 5 MB.",
"upload_error_unsupported_type": "File type not supported. Please upload a PDF, DOCX, PPTX, or ODT file.",
"upload_error_generic": "Failed to upload document. Please try again.",
"upgrade_to_upload": "Upgrade to upload documents",
"tokens_exhausted": "Monthly AI token limit reached.",
"tokens_exhausted_buy_more": "Buy more",
"chat_history": "Chat History",
"no_conversations": "No conversations yet",
"untitled": "Untitled",
"new_chat": "New chat",
"rename_chat_aria": "Rename conversation",
"rename_chat_input_aria": "Conversation title",
"rename_chat_placeholder": "Conversation title",
"rename_chat_failed": "Could not rename this conversation. Try again.",
"tokens_label": "tokens",
"implementing_course_plan": "Implementing Course Plan",
"resume": "Resume",
"retry": "Retry",
"run_monitor_aria": "Course generation in progress",
"run_monitor": {
"cancel": "Cancel run",
"dismiss": "Dismiss",
"dismiss_confirm": "Walk away",
"dismiss_cancel": "Keep run",
"dismiss_confirm_body": "Walk away from this canceled run? The Resume button will be gone — any further chat will start fresh and won't continue the plan.",
"now_doing": "Now",
"input_disabled_hint": "Chat is paused while the agent finishes building the course. Cancel or wait for it to complete.",
"stuck_queued": {
"title": "Worker not responding",
"body": "This run has been waiting more than 30 seconds with no worker pickup. The background worker may be down or restarting."
}
},
"plan_view": {
"expand": "Expand plan",
"collapse": "Collapse plan"
},
"changes_card": {
"summary_count": "{count} items changed",
"expand": "Expand changes",
"collapse": "Collapse changes",
"status": {
"completed": "Completed",
"failed": "Failed",
"canceled": "Canceled",
"paused": "Paused"
},
"action": {
"created": "Created",
"metadata_updated": "Metadata updated",
"content_written": "Content written",
"questions_added": "+{count} questions",
"questions_updated": "{count} questions edited",
"section_added": "Block added",
"section_edited": "Block edited"
}
},
"run_summary": {
"completed": "Run completed.",
"completed_with_counts": "Run completed — created {counts}.",
"failed": "Run failed.",
"failed_with_reason": "Run failed — {reason}.",
"canceled": "Run canceled.",
"canceled_with_counts": "Run canceled — created {counts} before stopping.",
"paused": "Run paused. Resume to continue.",
"paused_with_counts": "Run paused — created {counts} so far. Resume to continue."
},
"stopped_content_kept": "Stopped. Created content has been kept.",
"run_failed_after": "{action} did not finish successfully.",
"tool": {
"pending": {
"working": "Working",
"unknown_tool": "Running {toolName}",
"get_course_structure": "Reading course structure",
"get_lesson_content": "Reading lesson content",
"get_exercise_details": "Reading exercise",
"create_section": "Creating section",
"update_section": "Updating section",
"create_lesson": "Creating lesson",
"update_lesson": "Updating lesson",
"update_lesson_content": "Writing lesson content",
"create_exercise": "Creating exercise",
"create_exercise_section": "Creating exercise section",
"update_exercise": "Updating exercise",
"update_exercise_section": "Updating exercise section",
"add_questions": "Adding questions",
"update_questions": "Updating questions",
"reorder_content": "Reordering content",
"update_course_landing_page": "Updating landing page",
"check_course_go_live_readiness": "Checking go-live readiness",
"go_live_course": "Publishing course",
"generate_course_plan": "Generating course plan",
"ask_template_questions": "Preparing template form",
"fetch_documentation_url": "Reading docs page",
"fetch_documentation_url_with_url": "Reading {url}"
},
"meta": {
"lesson_char_count": "({count, plural, one {# character} other {# characters}})",
"landing_page_preview": "· Preview changes",
"exercise_questions_added": "· {count, plural, one {# question added} other {# questions added}}",
"exercise_questions_updated": "· {count, plural, one {# question updated} other {# questions updated}}"
},
"done": {
"generic": "Done",
"create_section": "Created section: {title}",
"update_section": "Updated section: {title}",
"create_lesson": "Created lesson: {title}",
"update_lesson": "Updated lesson: {title}",
"update_lesson_content_fallback": "Wrote {count, plural, one {# character} other {# characters}}",
"create_exercise": "Created exercise «{title}» · {count, plural, one {# question} other {# questions}}",
"update_exercise": "Updated exercise: {title}",
"update_exercise_section": "Updated exercise section: {title}",
"add_questions_fallback": "{count, plural, one {Added # question} other {Added # questions}}",
"update_questions_fallback": "{count, plural, one {Updated # question} other {Updated # questions}}",
"create_exercise_section": "Created exercise section: {title}",
"get_course_structure": "Course structure loaded",
"get_lesson_content": "Lesson content loaded",
"get_exercise_details": "Exercise loaded",
"reorder_content": "Content reordered",
"update_course_landing_page": "Updated landing page: {title}",
"check_go_live_ready": "{warningCount, plural, =0{Ready to go live} other{Ready to go live — # warnings}}",
"check_go_live_blocked": "{blockerCount, plural, one{# blocker before go-live} other{# blockers before go-live}}",
"go_live_published": "Published course: {title}",
"go_live_not_published": "Course was not published",
"generate_course_plan": "Course plan generated",
"ask_template_questions": "Template form ready",
"fetch_documentation_url": "Read {url}"
}
},
"mention_lesson": "Lesson",
"mention_exercise": "Exercise",
"mention_section": "Section",
"mention_no_results": "No matching content",
"uploading_document": "Uploading document...",
"agent_running_warning": "The changes will appear in the course once the agent is done. Don't reload the page.",
"agent_running_warning_dismiss": "Dismiss",
"error_rate_limit": "The AI service is temporarily busy. Please try again in a moment.",
"error_rate_limit_with_wait": "The AI service is temporarily busy. Please try again in {seconds} seconds.",
"error_context_too_long": "The conversation is too long. Try starting a new chat or shortening your message.",
"error_network": "Network error. Please check your connection and try again.",
"context_usage_tooltip": "{used} / {max} tokens used",
"context_full_title": "Context window is full",
"context_full_description": "The assistant will summarize older messages automatically so you can keep working in this chat.",
"context_full_compact": "Compact conversation",
"context_full_compacting": "Compacting...",
"context_full_new_chat": "Start new chat with summary",
"context_full_summarizing": "Creating summary...",
"context_compacted_badge": "Conversation compacted ({count} earlier messages)"
},
"side_panel": {
"close_aria": "Close panel",
"resize_panel_aria_label": "Resize panel",
"titles": {
"ai_assistant": "AI Assistant",
"transcript": "Transcript"
}
},
"cohorts": {
"heading": "Cohorts",
"description": "Give a group of people access to multiple courses, like a class",
"page_title": "Cohorts",
"search_placeholder": "Search cohorts",
"create": "New Cohort",
"create_success": "Cohort created",
"update_success": "Cohort updated",
"delete_success": "Cohort deleted",
"members_added": "Members added",
"member_removed": "Member removed",
"invite_sent": "Invites sent",
"course_added": "Course added",
"multiple_added": "Courses added",
"course_removed": "Course removed",
"empty_title": "No cohorts yet",
"empty_description": "Create your first certification or compliance cohort.",
"no_matching_cohorts": "No cohorts match your filters.",
"status": {
"active": "Active",
"inactive": "Inactive",
"archived": "Archived"
},
"filters": {
"filter": "Filter",
"clear_all": "Clear all",
"popover_title": "Filters",
"sort": "Sort",
"order": "Order",
"status": "Status",
"ascending": "Asc",
"descending": "Desc",
"sort_name": "Name",
"sort_courses": "Courses",
"sort_students": "Students",
"sort_status": "Status"
},
"table": {
"name": "Name",
"courses": "Courses",
"students": "Students",
"status": "Status",
"description": "Description"
},
"sidebar": {
"newsfeed": "Newsfeed",
"courses": "Courses",
"people": "People",
"settings": "Settings"
},
"create_modal": {
"title": "Create Cohort",
"description": "Add a new certification or compliance cohort.",
"name_label": "Name",
"name_placeholder": "e.g. OSHA Safety Certification",
"description_label": "Description",
"description_placeholder": "What is this cohort about?",
"submit": "Create"
},
"card": {
"courses": "Courses",
"students": "Students"
},
"newsfeed": {
"heading": "Newsfeed",
"post": "New Post",
"post_placeholder": "What's on your mind?",
"make_a_post": "Make a Post",
"edit_post": "Edit Post",
"editor_placeholder": "Share an update with your cohort",
"cancel": "Cancel",
"post_submit": "Post",
"pinned": "Pinned",
"delete_feed_title": "Delete post",
"delete_feed_description": "Are you sure you want to delete this post?",
"confirm_delete": "Delete",
"user_avatar_alt": "User avatar",
"card": {
"pin": "Pin",
"unpin": "Unpin",
"edit": "Edit",
"delete": "Delete"
},
"comments": {
"comment": "comment",
"showing_of": "Showing {shown} of {total}",
"hide": "Hide comments",
"placeholder": "Add cohort comment",
"submit_aria": "Submit comment",
"delete": "Delete"
},
"empty_title": "No posts yet",
"empty_description": "Be the first to post something."
},
"courses": {
"add": "Add Course",
"add_modal_title": "Add Course to Cohort",
"select_course": "Select a course",
"select_courses": "Select courses",
"select_placeholder": "Choose a course…",
"search_placeholder": "Search courses",
"no_available_courses": "No available courses to add.",
"no_matching_courses": "No courses match your search.",
"no_matching_cohort_courses": "No cohort courses match your search.",
"pagination_status": "Page {page} of {totalPages}",
"empty_title": "No courses yet",
"empty_description": "Add courses to this cohort.",
"published_access_callout_title": "Student access",
"published_access_callout_description": "Students only have access to published courses. Courses can be in this cohort for your team while still unpublished while those stay hidden from students until you publish them."
},
"people": {
"invite": "Invite",
"invite_modal_title": "Invite Members",
"invite_modal_description": "Add people to this cohort by email.",
"email_label": "Email",
"role_label": "Role",
"add_another": "Add another",
"invite_submit": "Send Invites",
"empty_title": "No members yet",
"empty_description": "Invite people to join this cohort."
},
"lms": {
"empty_title": "No cohorts yet",
"empty_description": "You haven't been enrolled in any cohorts."
},
"settings": {
"general": "General",
"name_label": "Name",
"description_label": "Description",
"status_label": "Status",
"save": "Save Changes",
"danger_zone": "Danger Zone",
"delete": "Delete Cohort",
"delete_description": "Once deleted, this cohort and all its data cannot be recovered.",
"confirm_delete": "Are you sure you want to delete this cohort? This cannot be undone."
},
"goals": {
"heading": "Learning Goals",
"description": "Set measurable targets that span multiple courses for everyone in this cohort.",
"add": "New Goal",
"empty_title": "No goals yet",
"empty_description": "Create a goal to track team progress across multiple courses.",
"created": "Goal created",
"updated": "Goal updated",
"deleted": "Goal deleted",
"delete_confirm": "Delete this goal? Per-student status history will be removed.",
"modal": {
"create_title": "New goal",
"edit_title": "Edit goal",
"title_label": "Title",
"title_placeholder": "e.g. Onboarding ramp",
"description_label": "Description",
"description_placeholder": "Optional context for the team",
"type_label": "Type",
"courses_label": "Courses",
"required_count_label": "Number of courses required",
"score_threshold_label": "Per-student pass score (%)",
"team_pass_rate_label": "Team pass rate (%)",
"deadline_label": "Deadline",
"deadline_date_label": "Deadline date",
"relative_days_label": "Days from when the student joins",
"recurring_months_label": "Repeat every (months)",
"reminders_label": "Reminders (days before due)",
"reminders_helper": "Comma-separated. Example: 7, 3, 1",
"save": "Save",
"cancel": "Cancel"
},
"type": {
"complete_all": "Complete all selected courses",
"n_of_m": "Complete N of M selected courses",
"score": "Score above threshold on every course",
"pass_rate": "Team pass-rate threshold",
"readiness": "Readiness (no deadline)"
},
"deadline_kind": {
"absolute": "Absolute date",
"relative_to_join": "Relative to student joining",
"recurring": "Recurring",
"none": "No deadline"
},
"status": {
"completed": "Completed",
"in_progress": "In progress",
"at_risk": "At risk",
"overdue": "Overdue",
"not_started": "Not started",
"waived": "Waived"
},
"tile": {
"on_track": "on track",
"completed_short": "completed",
"overdue_short": "overdue",
"at_risk_short": "at risk"
},
"lms": {
"heading": "Your Goals",
"empty_title": "No goals assigned",
"empty_description": "When your instructors set goals, they'll show up here.",
"due_in_days": "Due in {days} days",
"due_tomorrow": "Due tomorrow",
"due_today": "Due today",
"overdue": "Overdue",
"no_deadline": "No deadline"
}
}
}
}