Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
a28202e
Fix #16089: Add Hinglish translation tips (#27151)
tarsoliyaansh Aug 20, 2026
babdc6e
Fix part of #25941: Clean up legacy embedded <style> tags from HTML t…
Aditya22-smart Aug 20, 2026
c9dc370
Handle network loss in certificate assessment player
Aug 20, 2026
a61b9b0
Remove debug console logs from assessment timer
Aug 20, 2026
4acb295
[GSoC 2026] M2.16: Fix part of #24717: Wired certificate assessment …
mosin74 Aug 20, 2026
23d17a6
[GSoC 2026] M2.18: Fix part of #24717: Handle assessment time expiry …
mosin74 Aug 22, 2026
cbabee8
[Don't Merge]: Updates voiceover feature flags from TEST to PROD (#27…
Nik-09 Aug 22, 2026
445cd75
[GSoC 2026] M 2.8 - Fix part of #24933: Display translated concept ca…
Rohan-Unbeg Aug 22, 2026
8c21756
Merge branch 'develop' into learner-assessment-m2.20
Aug 23, 2026
64a436e
Fix failing tests
Aug 23, 2026
fe5126d
Revert unintended changes and add coverage for missing lines
Aug 23, 2026
6469f44
Fix part of #26975 and #27178: Remove redundant component tag prefixe…
arkia09 Aug 24, 2026
de514c2
Adds more context information in the voiceover admin page status UI (…
Nik-09 Aug 24, 2026
586fbb1
[GSoC 2026] M 2.7 - Fix part of #24933: Display translated exploratio…
Rohan-Unbeg Aug 24, 2026
e7f9d1a
[GSoC 2026] M 2.9 - Fix part of #24933: Search lessons in the learner…
Rohan-Unbeg Aug 24, 2026
333d768
[GSoC 2026] M2.21 - Fix part of #24717: Show assessment unavailable m…
mosin74 Aug 24, 2026
5a0baa9
[GSoC 2026] M2.19 - Fix part of #24717: Fix unanswered question flow …
mosin74 Aug 24, 2026
7f5a964
[GSoC 2026] M2.6 & M2.7 - Fix part of #19614: Implement Animations i…
KartikSuryavanshi Aug 24, 2026
2dce093
Merge branch 'develop' into learner-assessment-m2.20
Aug 25, 2026
f839452
Fix TS errors and add missing test coverage for certificate assessmen…
Aug 26, 2026
5190a5b
Add certificate assessment datastore index
Aug 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions assets/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6074,6 +6074,19 @@ export default {
// eslint-disable-next-line max-len
"Refer to Glossary - https://docs.google.com/spreadsheets/d/13NMEnYqLZuMbeX1Z6XXG-femHkKNAN8KwjhaC67EkxI/edit#gid=0"
],
// Hinglish.
"hi-en": [
// eslint-disable-next-line max-len
"For mathematical terms in Hinglish, use the English words (e.g. numerator, denominator) instead of their Hindi equivalents (e.g. Bhinn, Ansh).",
// eslint-disable-next-line max-len
"Use respectful pronouns (like “Aap” instead of “Tum/Tu”) and a corresponding respectful tone like “kariye, karenge”.",
// eslint-disable-next-line max-len
"Feel free to change the voice and sequence of phrases to make the sentence more readable.",
// eslint-disable-next-line max-len
"Preserve punctuation and bolding. If the original content has bold text, make sure it is bold in Hinglish as well. If there are bullet points, double quotes, etc., make sure that the translated content also has bullet points and double quotes.",
// eslint-disable-next-line max-len
"If the original card has “components” (such as pictures, links, and equations), these need to be added to the translated content. You can use the “Copy tool” for this -- click on the Copy tool and then click on the component you want to carry over. Also, double-click on the image and translate the alt text (and caption, if any)."
],
// Spanish.
"es": [
"Include proper punctuation, ¡blank!, ¿question? and accent marks.",
Expand Down
31 changes: 29 additions & 2 deletions assets/i18n/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,12 @@
"I18N_ASSESSMENT_INTERRUPT_SESSION_ENDED": "Your assessment session ended before it was submitted.",
"I18N_ASSESSMENT_INTERRUPT_TITLE": "Assessment Interrupted",
"I18N_ASSESSMENT_START_BUTTON": "Start Assessment",
"I18N_ASSESSMENT_UNAVAILABLE_ALERTED_CREATOR_MESSAGE": "We've alerted the creator team about this issue.",
"I18N_ASSESSMENT_UNAVAILABLE_GO_TO_CERTIFICATES_BUTTON": "Go to available certificates",
"I18N_ASSESSMENT_UNAVAILABLE_MESSAGE": "Sorry, this assessment isn't available.",
"I18N_ASSESSMENT_UNAVAILABLE_NOTE_TEXT": "Because this assessment is currently unavailable, you cannot start or submit this assessment.",
"I18N_ASSESSMENT_UNAVAILABLE_TITLE": "Assessment Unavailable",
"I18N_ASSESSMENT_UNAVAILABLE_TRY_OTHER_MESSAGE": "In the meantime, you can try a different assessment from the available certificates section.",
"I18N_ASSIGNED_STORIES_AND_SKILLS": "Assigned Stories and Skills",
"I18N_ASSIGNED_STORIES_AND_SKILLS_EMPTY_MESSAGE": "No stories or skills have been assigned to learners in this group.",
"I18N_ATTRIBUTION_HTML_STEP_ONE": "Copy and paste the HTML",
Expand Down Expand Up @@ -277,6 +283,7 @@
"I18N_CERTIFICATE_ASSESSMENT_CONVERSATION_SKIN_CURRENT_PROGRESS": "Current Progress: <[progressPercentage]>%",
"I18N_CERTIFICATE_ASSESSMENT_CONVERSATION_SKIN_NEXT_BUTTON": "Next",
"I18N_CERTIFICATE_ASSESSMENT_CONVERSATION_SKIN_SUBMIT_ASSESSMENT_BUTTON": "Submit Assessment",
"I18N_CERTIFICATE_ASSESSMENT_COOLDOWN_ERROR": "You just started an assessment before this time. Please try again in <[remainingMinutes]> minute(s).",
"I18N_CERTIFICATE_ASSESSMENT_DEMONSTRATES_HEADING": "What this certificate demonstrates",
"I18N_CERTIFICATE_ASSESSMENT_EXIT_BUTTON": "Exit",
"I18N_CERTIFICATE_ASSESSMENT_RESULT_FAILED_HEADING": "Don't give up! You can try again",
Expand Down Expand Up @@ -1681,18 +1688,35 @@
"I18N_TOPIC_LANDING_PAGE_TITLE": "<[topicTitle]> | <[topicTagline]> | Oppia",
"I18N_TOPIC_LEARN": "Learn",
"I18N_TOPIC_TITLE": "Topic",
"I18N_TOPIC_VIEWER_ADVENTURE_MASTERED_ALL_COMPLETE_SUBTITLE": "You've mastered all available adventures. Keep the momentum going!",
"I18N_TOPIC_VIEWER_ADVENTURE_MASTERED_CONTINUE_BUTTON": "Continue to Topic",
"I18N_TOPIC_VIEWER_ADVENTURE_MASTERED_MOMENTUM_SUBTITLE": "Keep the momentum going!",
"I18N_TOPIC_VIEWER_ADVENTURE_MASTERED_NUMBER_TITLE": "Adventure <[adventureNumber]> Mastered!",
"I18N_TOPIC_VIEWER_ADVENTURE_MASTERED_TITLE": "Adventure Mastered!",
"I18N_TOPIC_VIEWER_ADVENTURE_MASTERED_UNLOCKED_SUBTITLE": "You've unlocked Adventure <[adventureNumber]>. Keep the momentum going!",
"I18N_TOPIC_VIEWER_ADVENTURE_NUMBER_LABEL": "Adventure <[adventureNumber]>",
"I18N_TOPIC_VIEWER_ADVENTURE_RESUME_BUTTON": "Resume",
"I18N_TOPIC_VIEWER_ADVENTURE_START_BUTTON": "Start",
"I18N_TOPIC_VIEWER_ARC_SKIP_CONFIRMATION_MESSAGE": "{count, plural, one{Adventure <[adventureNumbers]> will be marked as skipped, but you can return to it at any time.} other{Adventures <[adventureNumbers]> will be marked as skipped, but you can return to them at any time.}}",
"I18N_TOPIC_VIEWER_ARC_SKIP_CONFIRMATION_TITLE": "Skip to <[adventureLabel]>?",
"I18N_TOPIC_VIEWER_CHAPTER": "Chapter",
"I18N_TOPIC_VIEWER_CHAPTERS": "{count, plural, one{1 chapter} other{# chapters}}",
"I18N_TOPIC_VIEWER_CLOSE_BUTTON": "Close",
"I18N_TOPIC_VIEWER_COMING_SOON": "Coming Soon!",
"I18N_TOPIC_VIEWER_COMING_SOON_CHAPTERS": "COMING SOON CHAPTERS",
"I18N_TOPIC_VIEWER_COMING_SOON_CHAPTERS_ARIA_LABEL": "Coming soon chapters",
"I18N_TOPIC_VIEWER_COMING_SOON_CHAPTERS_HEADING": "COMING SOON CHAPTERS",
"I18N_TOPIC_VIEWER_COMING_SOON_LESSONS": "Come back later when lessons are available for this topic.",
"I18N_TOPIC_VIEWER_COMING_SOON_PRACTICE": "Come back later when practice questions are available for this topic.",
"I18N_TOPIC_VIEWER_LEARN": "Learn",
"I18N_TOPIC_VIEWER_LESSON_COMING_SOON_LABEL": "COMING SOON",
"I18N_TOPIC_VIEWER_LESSON_COMPLETED_LABEL": "Completed",
"I18N_TOPIC_VIEWER_LESSON_NEW_LABEL": "NEW",
"I18N_TOPIC_VIEWER_LESSON_PLAY_AGAIN_BUTTON": "Play Again",
"I18N_TOPIC_VIEWER_MASTERY_CHALLENGE_BUTTON": "Mastery Challenge",
"I18N_TOPIC_VIEWER_MASTERY_CHALLENGE_DESCRIPTION": "Test your knowledge with a challenge that covers everything you have learned in this topic.",
"I18N_TOPIC_VIEWER_MASTERY_CHALLENGE_TITLE": "Mastery Challenge",
"I18N_TOPIC_VIEWER_MASTERY_CHALLENGE_TOOLTIP_DESCRIPTION": "Finish all chapters in order to unlock the Mastery Challenge and prove your mastery of this topic.",
"I18N_TOPIC_VIEWER_MASTERY_CHALLENGE_TOOLTIP_TITLE": "Complete all chapters to unlock",
"I18N_TOPIC_VIEWER_MASTER_SKILLS": "Master Skills for <[topicName]>",
"I18N_TOPIC_VIEWER_NAVIGATION_HINT": "Click to navigate through lessons and tests",
"I18N_TOPIC_VIEWER_NO_QUESTION_WARNING": "There are no questions created yet for the selected subtopic(s).",
Expand All @@ -1705,6 +1729,9 @@
"I18N_TOPIC_VIEWER_PRACTICE_SESSION_BETA_TAG": "Beta",
"I18N_TOPIC_VIEWER_PRACTICE_TEST_BUTTON": "Practice Test",
"I18N_TOPIC_VIEWER_SELECT_SKILLS": "Select the skills from the <[topicName]> lessons you would like to practice.",
"I18N_TOPIC_VIEWER_SKIPPED_ADVENTURE_ARIA_LABEL": "<[adventureTitle]> was skipped. Expand to review.",
"I18N_TOPIC_VIEWER_SKIPPED_ADVENTURE_BADGE": "SKIPPED",
"I18N_TOPIC_VIEWER_SKIPPED_ADVENTURE_MESSAGE": "This adventure was skipped. You can revisit it anytime.",
"I18N_TOPIC_VIEWER_START_PRACTICE": "Start",
"I18N_TOPIC_VIEWER_STORIES_HEAD": "Stories you can play",
"I18N_TOPIC_VIEWER_STUDY": "Study",
Expand Down Expand Up @@ -1767,7 +1794,7 @@
"I18N_TOTAL_SUBSCRIBERS_TEXT": "You have a total of <[totalSubscribers]> subscribers.",
"I18N_UNANSWERED_QUESTION_MODAL_CLOSE_BUTTON": "Close",
"I18N_UNANSWERED_QUESTION_MODAL_GO_BACK_BUTTON_ALT": "Go back to assessment",
"I18N_UNANSWERED_QUESTION_MODAL_MESSAGE": "You have {{unansweredQuestionCount}} unanswered questions. Unanswered questions will be marked incorrect.",
"I18N_UNANSWERED_QUESTION_MODAL_MESSAGE": "You have <[unansweredQuestionCount]> unanswered questions. Unanswered questions will be marked incorrect.",
"I18N_UNANSWERED_QUESTION_MODAL_PRESS_PROMPT_AFTER": "to go back to the assessment or submit anyway.",
"I18N_UNANSWERED_QUESTION_MODAL_PRESS_PROMPT_BEFORE": "Press",
"I18N_UNANSWERED_QUESTION_MODAL_SUBMIT_BUTTON": "Submit Assessment",
Expand Down
29 changes: 28 additions & 1 deletion assets/i18n/qqq.json
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,12 @@
"I18N_ASSESSMENT_INTERRUPT_SESSION_ENDED": "Message informing the user that their assessment session ended before it was submitted.",
"I18N_ASSESSMENT_INTERRUPT_TITLE": "Title displayed on the assessment interruption card when a certificate assessment session is interrupted.",
"I18N_ASSESSMENT_START_BUTTON": "Label for the button that starts the assessment.",
"I18N_ASSESSMENT_UNAVAILABLE_ALERTED_CREATOR_MESSAGE": "Message informing the user that the creator team has been alerted about the unavailable assessment.",
"I18N_ASSESSMENT_UNAVAILABLE_GO_TO_CERTIFICATES_BUTTON": "Text on the button that navigates the user to the available certificates section.",
"I18N_ASSESSMENT_UNAVAILABLE_MESSAGE": "Message informing the user that the assessment is not available.",
"I18N_ASSESSMENT_UNAVAILABLE_NOTE_TEXT": "Note explaining that the assessment cannot be started or submitted because it is currently unavailable.",
"I18N_ASSESSMENT_UNAVAILABLE_TITLE": "Title displayed on the modal shown when a certificate assessment is unavailable.",
"I18N_ASSESSMENT_UNAVAILABLE_TRY_OTHER_MESSAGE": "Message encouraging the user to try a different assessment from the available certificates section.",
"I18N_ASSIGNED_STORIES_AND_SKILLS": "Syllabus tab title on the edit learner group page.",
"I18N_ASSIGNED_STORIES_AND_SKILLS_EMPTY_MESSAGE": "Text displayed to user when no skills or stories are assigned to the learner under group syllabus.",
"I18N_ATTRIBUTION_HTML_STEP_ONE": "Step one of attributing Oppia in HTML",
Expand Down Expand Up @@ -277,6 +283,7 @@
"I18N_CERTIFICATE_ASSESSMENT_CONVERSATION_SKIN_CURRENT_PROGRESS": "Text showing the learner's progress through the certificate assessment questions.",
"I18N_CERTIFICATE_ASSESSMENT_CONVERSATION_SKIN_NEXT_BUTTON": "Label for the next button in the certificate assessment question view.",
"I18N_CERTIFICATE_ASSESSMENT_CONVERSATION_SKIN_SUBMIT_ASSESSMENT_BUTTON": "Label for the button that submits the certificate assessment.",
"I18N_CERTIFICATE_ASSESSMENT_COOLDOWN_ERROR": "Warning message shown when the learner tries to start a new certificate assessment attempt before the cooldown window after their previous attempt has elapsed. <[remainingMinutes]> is replaced with the whole number of minutes they must wait; it is always at least one.",
"I18N_CERTIFICATE_ASSESSMENT_DEMONSTRATES_HEADING": "Heading displayed on the certificate introduction card that explains what knowledge and skills the certificate demonstrates.",
"I18N_CERTIFICATE_ASSESSMENT_EXIT_BUTTON": "Text displayed on the exit button in the certificate assessment header. Clicking the button exits the certificate assessment flow.",
"I18N_CERTIFICATE_ASSESSMENT_RESULT_FAILED_HEADING": "Heading text shown when a learner does not pass the certificate assessment result card.",
Expand Down Expand Up @@ -1681,18 +1688,35 @@
"I18N_TOPIC_LANDING_PAGE_TITLE": "Text displayed on the browser's tab when on the topic landing page.",
"I18N_TOPIC_LEARN": "The title of the column in the learner dashboard that allows learner to mark a topic as a goal.\n{{Identical|Learn}}",
"I18N_TOPIC_TITLE": "The title of the column in the learner dashboard that displays topic names.\n\n{{Identical|Topic}}",
"I18N_TOPIC_VIEWER_ADVENTURE_MASTERED_ALL_COMPLETE_SUBTITLE": "Subtitle shown in the adventure mastered modal when the learner has completed every available adventure.",
"I18N_TOPIC_VIEWER_ADVENTURE_MASTERED_CONTINUE_BUTTON": "Label for the button that closes the adventure mastered modal and returns the learner to the topic page.",
"I18N_TOPIC_VIEWER_ADVENTURE_MASTERED_MOMENTUM_SUBTITLE": "Subtitle shown in the adventure mastered modal when no specific adventure was just mastered.",
"I18N_TOPIC_VIEWER_ADVENTURE_MASTERED_NUMBER_TITLE": "Title shown in the adventure mastered modal, where <[adventureNumber]> is the 1-based position of the adventure the learner just mastered.",
"I18N_TOPIC_VIEWER_ADVENTURE_MASTERED_TITLE": "Title shown in the adventure mastered modal when no specific adventure was just mastered.",
"I18N_TOPIC_VIEWER_ADVENTURE_MASTERED_UNLOCKED_SUBTITLE": "Subtitle shown in the adventure mastered modal when mastering the adventure unlocked the next one, where <[adventureNumber]> is the 1-based position of the unlocked adventure.",
"I18N_TOPIC_VIEWER_ADVENTURE_NUMBER_LABEL": "Label used to refer to an adventure by its 1-based position, where <[adventureNumber]> is the position of the adventure.",
"I18N_TOPIC_VIEWER_ADVENTURE_RESUME_BUTTON": "Label for the button that resumes a previously started skipped adventure.",
"I18N_TOPIC_VIEWER_ADVENTURE_START_BUTTON": "Label for the button that starts a skipped adventure that was never started.",
"I18N_TOPIC_VIEWER_ARC_SKIP_CONFIRMATION_MESSAGE": "Message shown in the confirmation modal when the learner tries to navigate to a later adventure while skipping earlier unfinished ones, where <[adventureNumbers]> is the human-readable list of skipped adventure positions (for example '2', '1 and 2', or '1, 2, and 3').\n\nOnly translate the words inside the 'one' and 'other' branches (keeping the '<[adventureNumbers]>' placeholder and the '{count, plural, ...}' syntax unchanged).",
"I18N_TOPIC_VIEWER_ARC_SKIP_CONFIRMATION_TITLE": "Title shown in the confirmation modal when the learner tries to skip to a later adventure, where <[adventureLabel]> is the label of the target adventure (for example 'Adventure 3').",
"I18N_TOPIC_VIEWER_CHAPTER": "Text to be displayed on each story summary tile in the topic viewer indicating the chapter count in the story.",
"I18N_TOPIC_VIEWER_CHAPTERS": "Text to be displayed on each topic summary tile with singular/plural adjustments.\n\nOnly translate \"1 chapter\" and \"# chapters\" (keep a \"#\" as the placeholder for the actual replaced number). The rest should remain as is, including curly braces (\"{\", \"}\"), plural keywords \"count\", \"one\" or \"other\" (in English), and comma separators (\",\").\n\nIn languages that don't need to mark different forms for the plural, you may just keep the \"other\" option (used as the default value for the result of the \"{count...}\" expression), and then translate just \"# chapters\".",
"I18N_TOPIC_VIEWER_CLOSE_BUTTON": "ARIA label for the close button that dismisses a dialog.\n{{Identical|Close}}",
"I18N_TOPIC_VIEWER_COMING_SOON": "Text displayed as a heading when no content is available to show in respective tabs.",
"I18N_TOPIC_VIEWER_COMING_SOON_CHAPTERS": "Heading displayed above the list of chapters that are not yet published and cannot be accessed by the learner.",
"I18N_TOPIC_VIEWER_COMING_SOON_CHAPTERS_ARIA_LABEL": "ARIA label for the section listing chapters that are not yet available.",
"I18N_TOPIC_VIEWER_COMING_SOON_CHAPTERS_HEADING": "Heading shown above the list of chapters that are not yet available.",
"I18N_TOPIC_VIEWER_COMING_SOON_LESSONS": "Text displayed as a descriptive message when no content is available to show in lessons tab.",
"I18N_TOPIC_VIEWER_COMING_SOON_PRACTICE": "Text displayed as a descriptive message when no content is available to show in Practice tab.",
"I18N_TOPIC_VIEWER_LEARN": "Title shown in a tab header in the topic's viewer page. - Clicking on this shows a list of the lessons that lie within the topic",
"I18N_TOPIC_VIEWER_LESSON_COMING_SOON_LABEL": "Label badge displayed on lesson cards that are coming soon.",
"I18N_TOPIC_VIEWER_LESSON_COMPLETED_LABEL": "Label badge displayed on lesson cards that have been completed.",
"I18N_TOPIC_VIEWER_LESSON_NEW_LABEL": "Label badge displayed on new lesson cards.",
"I18N_TOPIC_VIEWER_LESSON_PLAY_AGAIN_BUTTON": "Label for the button that lets a learner replay a completed lesson.",
"I18N_TOPIC_VIEWER_MASTERY_CHALLENGE_BUTTON": "Label for the mastery challenge button that navigates to the challenge.",
"I18N_TOPIC_VIEWER_MASTERY_CHALLENGE_DESCRIPTION": "Description for the mastery challenge card explaining what the challenge covers.",
"I18N_TOPIC_VIEWER_MASTERY_CHALLENGE_TITLE": "Title for the mastery challenge card at the end of a story section.",
"I18N_TOPIC_VIEWER_MASTERY_CHALLENGE_TOOLTIP_DESCRIPTION": "Description text for helper tooltip shown when the learner clicks mastery challenge before completing all chapters.",
"I18N_TOPIC_VIEWER_MASTERY_CHALLENGE_TOOLTIP_TITLE": "Heading text for helper tooltip shown when mastery challenge is still locked.",
"I18N_TOPIC_VIEWER_MASTER_SKILLS": "Title shown in the 'Practice' tab in the topic viewer, where the user can select skills to tackle questions on them.",
"I18N_TOPIC_VIEWER_NAVIGATION_HINT": "Hint text below the adventure navigation to guide users on how to navigate.",
"I18N_TOPIC_VIEWER_NO_QUESTION_WARNING": "Text displayed below the start button in 'practice' tab, when user select a subtopic which does not contain any questions attached to it.",
Expand All @@ -1705,6 +1729,9 @@
"I18N_TOPIC_VIEWER_PRACTICE_SESSION_BETA_TAG": "Text enclosed in parentheses meant to indicate that a practice session is in beta",
"I18N_TOPIC_VIEWER_PRACTICE_TEST_BUTTON": "Label for the practice test button in the adventure end test card.",
"I18N_TOPIC_VIEWER_SELECT_SKILLS": "Subtitle shown in the 'Practice' tab in the topic viewer, where the user can select skills to tackle questions on them.",
"I18N_TOPIC_VIEWER_SKIPPED_ADVENTURE_ARIA_LABEL": "ARIA label for a card representing an adventure the learner skipped, where <[adventureTitle]> is the title of the skipped adventure.",
"I18N_TOPIC_VIEWER_SKIPPED_ADVENTURE_BADGE": "Badge text displayed on cards of adventures that the learner skipped.",
"I18N_TOPIC_VIEWER_SKIPPED_ADVENTURE_MESSAGE": "Message displayed on cards of adventures that the learner skipped, reassuring them that they can revisit the adventure later.",
"I18N_TOPIC_VIEWER_START_PRACTICE": "Text displayed on the start button in the 'Practice' tab in the topic viewer. Clicking this, the user can start a practice session on skills selected by the user.\n{{Identical|Start}}",
"I18N_TOPIC_VIEWER_STORIES_HEAD": "Text displayed above all stories specifically in mobile view.",
"I18N_TOPIC_VIEWER_STUDY": "Title shown in a tab header in the topic's viewer page. - Clicking on this shows a list of the study guides that lie within the topic",
Expand Down
Loading