chore: ai, public course and other ui improvements
This commit is contained in:
@@ -63,7 +63,32 @@
|
||||
"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"
|
||||
"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",
|
||||
@@ -181,6 +206,7 @@
|
||||
"organization_tab": "Organization",
|
||||
"landing_page_tab": "Landing Page",
|
||||
"billing_tab": "Billing",
|
||||
"ai_credits_tab": "AI Credits",
|
||||
"integrations_tab": "Integrations",
|
||||
"language_tab": "Language",
|
||||
"auth_tab": "Authentication",
|
||||
@@ -579,10 +605,46 @@
|
||||
"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": "AI Assistant Usage",
|
||||
"ai_tokens_used": "tokens used this month",
|
||||
"ai_bonus_credits": "bonus credits available"
|
||||
"error": "An error occurred while opening billing"
|
||||
},
|
||||
"ai_credits": {
|
||||
"sub_title": "AI credits",
|
||||
"page_subtitle": "Track AI assistant usage, team consumption, and purchase token packs.",
|
||||
"cost_note": "Credit usage is weighted by model cost. Gemini 2.5 Flash and GPT-5.4 Mini count as 1 credit unit per token. Claude Sonnet 4.6 counts as 36× per token, reflecting its higher API cost.",
|
||||
"included": {
|
||||
"title": "Your included usage",
|
||||
"subtitle": "Monthly tokens included with your plan.",
|
||||
"resets_on": "Resets {date}"
|
||||
},
|
||||
"purchased": {
|
||||
"title": "Purchased usage",
|
||||
"subtitle": "Extra tokens you bought roll over until used.",
|
||||
"lifetime": "{tokens} tokens purchased · ${dollars} spent",
|
||||
"buy_more": "Buy more"
|
||||
},
|
||||
"chart": {
|
||||
"heading": "Usage",
|
||||
"subheading": "Daily token consumption this month.",
|
||||
"tokens": "Tokens",
|
||||
"total_tokens": "Total tokens",
|
||||
"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": "Tokens",
|
||||
"empty": "Nobody on your team has used the AI assistant this month."
|
||||
},
|
||||
"buy_tokens": {
|
||||
"title": "Buy more tokens",
|
||||
"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} tokens · ${dollars}",
|
||||
"buy_button": "Buy for ${dollars}"
|
||||
}
|
||||
}
|
||||
},
|
||||
"media_manager": {
|
||||
@@ -1416,7 +1478,8 @@
|
||||
"share": "Share",
|
||||
"invite": "Invite",
|
||||
"delete": "Delete",
|
||||
"open_course_site": "Open course site"
|
||||
"open_public_course": "Open public course",
|
||||
"copy_course_url": "Copy course URL"
|
||||
},
|
||||
"error_message": "An error occurred.",
|
||||
"lessons_number": "lessons",
|
||||
@@ -1426,6 +1489,8 @@
|
||||
"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",
|
||||
@@ -1464,6 +1529,26 @@
|
||||
}
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"level": {
|
||||
"beginner": "Beginner",
|
||||
"intermediate": "Intermediate",
|
||||
"advanced": "Advanced"
|
||||
},
|
||||
"type": {
|
||||
"self_paced": "Self Paced",
|
||||
"live_class": "Live Class"
|
||||
}
|
||||
},
|
||||
"navItems": {
|
||||
"nav_news_feed": "News Feed",
|
||||
"nav_content": "Content",
|
||||
@@ -1528,7 +1613,8 @@
|
||||
},
|
||||
"header": {
|
||||
"preview": "Preview course",
|
||||
"preview_missing_slug": "Generate and save a course slug before previewing."
|
||||
"preview_missing_slug": "Generate and save a course slug before previewing.",
|
||||
"public_course_helper": "Visible on your public course site"
|
||||
},
|
||||
"navItem": {
|
||||
"news_feed": {
|
||||
@@ -1575,6 +1661,11 @@
|
||||
"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",
|
||||
@@ -1604,6 +1695,7 @@
|
||||
"save": "Save",
|
||||
"edit": "Edit",
|
||||
"delete": "Delete",
|
||||
"delete_tooltip": "Delete this lesson",
|
||||
"cancel": "Cancel"
|
||||
},
|
||||
"add_content": "Add content",
|
||||
@@ -1812,8 +1904,11 @@
|
||||
"submissions": "Submissions",
|
||||
"save": "Save",
|
||||
"preview": "Preview",
|
||||
"add": "Add",
|
||||
"add_question": "Add a 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",
|
||||
@@ -1848,9 +1943,27 @@
|
||||
"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"
|
||||
},
|
||||
"edit_mode": {
|
||||
"delete_modal": "Delete Exercise",
|
||||
"sure": "Are you sure you want to delete this exercise?",
|
||||
@@ -1879,7 +1992,8 @@
|
||||
"hotspot": "Hotspot",
|
||||
"link": "Links",
|
||||
"word_bank": "Word bank",
|
||||
"star": "Star rating"
|
||||
"star": "Star rating",
|
||||
"video_recording": "Video recording"
|
||||
}
|
||||
},
|
||||
"view_mode": {
|
||||
@@ -1908,7 +2022,10 @@
|
||||
"status_graded": "Status: Review Completed",
|
||||
"status_submitted": "Status: Submitted",
|
||||
"checking_submission": "Checking your submission...",
|
||||
"instructor_feedback": "Instructor feedback"
|
||||
"instructor_feedback": "Instructor feedback",
|
||||
"back": "Back",
|
||||
"begin_section": "Start section",
|
||||
"complete_section": "Complete section"
|
||||
},
|
||||
"analytics": {
|
||||
"summary": {
|
||||
@@ -2107,6 +2224,51 @@
|
||||
"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": "Learners 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 learners",
|
||||
@@ -2686,6 +2848,29 @@
|
||||
"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 learners 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."
|
||||
},
|
||||
"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 learners can discover this course with filters.",
|
||||
@@ -3027,6 +3212,14 @@
|
||||
"activated": "Token auth enabled.",
|
||||
"deactivated": "Token auth disabled."
|
||||
},
|
||||
"ai_credits": {
|
||||
"purchase_success": "Token pack added to your balance.",
|
||||
"checkout_failed": "Could not start checkout. Please try again."
|
||||
},
|
||||
"public_course": {
|
||||
"url_copied": "Course URL copied",
|
||||
"url_copy_failed": "Could not copy URL"
|
||||
},
|
||||
"something": "Something went wrong - Please try later",
|
||||
"update": "Update",
|
||||
"update_failed": "Update failed",
|
||||
@@ -3423,7 +3616,8 @@
|
||||
"input_placeholder": "Ask the AI assistant...",
|
||||
"attach_document": "Attach a document (PDF, DOCX, PPTX)",
|
||||
"upgrade_to_upload": "Upgrade to upload documents",
|
||||
"tokens_exhausted": "Monthly AI token limit reached. Buy more credits in Settings > Billing or wait for reset.",
|
||||
"tokens_exhausted": "Monthly AI token limit reached.",
|
||||
"tokens_exhausted_buy_more": "Buy more",
|
||||
"chat_history": "Chat History",
|
||||
"no_conversations": "No conversations yet",
|
||||
"untitled": "Untitled",
|
||||
@@ -3436,6 +3630,7 @@
|
||||
"mention_exercise": "Exercise",
|
||||
"mention_section": "Section",
|
||||
"mention_no_results": "No matching content",
|
||||
"uploading_document": "Uploading document..."
|
||||
"uploading_document": "Uploading document...",
|
||||
"agent_running_warning": "The changes will appear in the course once the agent is done. Don't reload the page."
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user