| |
| <?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| add_filter('gettext', 'llms_change_course_lesson_terminology', 20, 3);
|
| add_filter('ngettext', 'llms_change_course_lesson_terminology_plural', 20, 5);
|
| add_filter('gettext_with_context', 'llms_change_course_lesson_terminology_context', 20, 4);
|
|
|
|
|
|
|
|
|
|
|
| function llms_change_course_lesson_terminology($translated_text, $text, $domain) {
|
|
|
| if ($domain !== 'lifterlms') {
|
| return $translated_text;
|
| }
|
|
|
|
|
| $replacements = array(
|
|
|
| 'Course' => 'Module',
|
| 'course' => 'module',
|
| 'COURSE' => 'MODULE',
|
|
|
|
|
| 'Courses' => 'Modules',
|
| 'courses' => 'modules',
|
| 'COURSES' => 'MODULES',
|
|
|
|
|
| 'Lesson' => 'Step',
|
| 'lesson' => 'step',
|
| 'LESSON' => 'STEP',
|
|
|
|
|
| 'Lessons' => 'Steps',
|
| 'lessons' => 'steps',
|
| 'LESSONS' => 'STEPS',
|
|
|
|
|
| 'Course Builder' => 'Module Builder',
|
| 'Course Catalog' => 'Module Catalog',
|
| 'Course Categories' => 'Module Categories',
|
| 'Course Category' => 'Module Category',
|
| 'Course Content' => 'Module Content',
|
| 'Course Dashboard' => 'Module Dashboard',
|
| 'Course Description' => 'Module Description',
|
| 'Course Details' => 'Module Details',
|
| 'Course Difficulty' => 'Module Difficulty',
|
| 'Course Information' => 'Module Information',
|
| 'Course Instructor' => 'Module Instructor',
|
| 'Course Length' => 'Module Length',
|
| 'Course Meta' => 'Module Meta',
|
| 'Course Options' => 'Module Options',
|
| 'Course Outline' => 'Module Outline',
|
| 'Course Overview' => 'Module Overview',
|
| 'Course Prerequisites' => 'Module Prerequisites',
|
| 'Course Progress' => 'Module Progress',
|
| 'Course Reviews' => 'Module Reviews',
|
| 'Course Settings' => 'Module Settings',
|
| 'Course Syllabus' => 'Module Syllabus',
|
| 'Course Tags' => 'Module Tags',
|
| 'Course Title' => 'Module Title',
|
| 'Course Track' => 'Module Track',
|
| 'My Courses' => 'My Modules',
|
| 'All Courses' => 'All Modules',
|
| 'New Course' => 'New Module',
|
| 'Edit Course' => 'Edit Module',
|
| 'View Course' => 'View Module',
|
| 'Add Course' => 'Add Module',
|
| 'Add New Course' => 'Add New Module',
|
| 'Search Courses' => 'Search Modules',
|
| 'Parent Course' => 'Parent Module',
|
| 'No Courses found' => 'No Modules found',
|
| 'No Courses found in trash' => 'No Modules found in trash',
|
| 'No courses found' => 'No modules found',
|
| 'No courses found in Trash' => 'No modules found in Trash',
|
| 'Featured Course' => 'Featured Module',
|
| 'Remove featured course' => 'Remove featured module',
|
| 'Set featured course' => 'Set featured module',
|
| 'Course Archives' => 'Module Archives',
|
| 'Course Attributes' => 'Module Attributes',
|
| 'Insert into course' => 'Insert into module',
|
| 'Uploaded to this course' => 'Uploaded to this module',
|
| 'Filter courses list' => 'Filter modules list',
|
| 'Courses list navigation' => 'Modules list navigation',
|
| 'Courses list' => 'Modules list',
|
| 'Launch Course Builder' => 'Launch Module Builder',
|
| 'This course is' => 'This module is',
|
| 'Enroll in this course' => 'Enroll in this module',
|
| 'Continue Course' => 'Continue Module',
|
| 'Start Course' => 'Start Module',
|
| 'Course Complete' => 'Module Complete',
|
| 'Take this Course' => 'Take this Module',
|
| 'Back to Course' => 'Back to Module',
|
| 'Return to Course' => 'Return to Module',
|
| 'View All Courses' => 'View All Modules',
|
| 'Browse Courses' => 'Browse Modules',
|
|
|
|
|
| 'Lesson Content' => 'Step Content',
|
| 'Lesson Title' => 'Step Title',
|
| 'Lesson Description' => 'Step Description',
|
| 'Lesson Options' => 'Step Options',
|
| 'Lesson Settings' => 'Step Settings',
|
| 'Lesson Preview' => 'Step Preview',
|
| 'Lesson Progress' => 'Step Progress',
|
| 'Next Lesson' => 'Next Step',
|
| 'Previous Lesson' => 'Previous Step',
|
| 'Current Lesson' => 'Current Step',
|
| 'New Lesson' => 'New Step',
|
| 'Edit Lesson' => 'Edit Step',
|
| 'View Lesson' => 'View Step',
|
| 'Add Lesson' => 'Add Step',
|
| 'Add New Lesson' => 'Add New Step',
|
| 'Search Lessons' => 'Search Steps',
|
| 'Parent Lesson' => 'Parent Step',
|
| 'Parent Lessons' => 'Parent Steps',
|
| 'No Lessons found' => 'No Steps found',
|
| 'No Lessons found in trash' => 'No Steps found in trash',
|
| 'No lessons found' => 'No steps found',
|
| 'No lessons found in Trash' => 'No steps found in Trash',
|
| 'All Lessons' => 'All Steps',
|
| 'Lesson Archives' => 'Step Archives',
|
| 'Lesson Attributes' => 'Step Attributes',
|
| 'Insert into lesson' => 'Insert into step',
|
| 'Uploaded to this lesson' => 'Uploaded to this step',
|
| 'Filter lessons list' => 'Filter steps list',
|
| 'Lessons list navigation' => 'Steps list navigation',
|
| 'Lessons list' => 'Steps list',
|
| 'Mark Lesson Complete' => 'Mark Step Complete',
|
| 'Complete Lesson' => 'Complete Step',
|
| 'Free Lesson' => 'Free Step',
|
| 'Lesson Prerequisite' => 'Step Prerequisite',
|
| 'lesson complete' => 'step complete',
|
| 'lesson is complete' => 'step is complete',
|
| 'lesson completion' => 'step completion',
|
| 'Back to Lesson' => 'Back to Step',
|
| 'Mark Complete' => 'Mark Complete',
|
|
|
|
|
| 'Categories' => 'Categories',
|
|
|
|
|
| 'You must be enrolled in the course to access this lesson' => 'You must be enrolled in the module to access this step',
|
| 'You are not enrolled in this course' => 'You are not enrolled in this module',
|
| 'This lesson is not available yet' => 'This step is not available yet',
|
| 'Course enrollment is closed' => 'Module enrollment is closed',
|
| 'Lesson drip is' => 'Step drip is',
|
|
|
|
|
| 'enrolled in a course' => 'enrolled in a module',
|
| 'completed a course' => 'completed a module',
|
| 'completed a lesson' => 'completed a step',
|
| );
|
|
|
|
|
| if (isset($replacements[$text])) {
|
| return $replacements[$text];
|
| }
|
|
|
|
|
| if (isset($replacements[$translated_text])) {
|
| return $replacements[$translated_text];
|
| }
|
|
|
| return $translated_text;
|
| }
|
|
|
|
|
|
|
|
|
| function llms_change_course_lesson_terminology_plural($translation, $single, $plural, $number, $domain) {
|
| if ($domain !== 'lifterlms') {
|
| return $translation;
|
| }
|
|
|
|
|
| $single = str_replace(array('Course', 'course', 'Lesson', 'lesson'),
|
| array('Module', 'module', 'Step', 'step'), $single);
|
| $plural = str_replace(array('Courses', 'courses', 'Lessons', 'lessons'),
|
| array('Modules', 'modules', 'Steps', 'steps'), $plural);
|
|
|
|
|
| $translation = str_replace(array('Course', 'course', 'Courses', 'courses', 'Lesson', 'lesson', 'Lessons', 'lessons'),
|
| array('Module', 'module', 'Modules', 'modules', 'Step', 'step', 'Steps', 'steps'),
|
| $translation);
|
|
|
| return $translation;
|
| }
|
|
|
|
|
|
|
|
|
| function llms_change_course_lesson_terminology_context($translation, $text, $context, $domain) {
|
| if ($domain !== 'lifterlms') {
|
| return $translation;
|
| }
|
|
|
|
|
| return llms_change_course_lesson_terminology($translation, $text, $domain);
|
| }
|
|
|
|
|
|
|
|
|
|
|
| add_filter('lifterlms_register_post_type_course', 'llms_modify_course_post_type_args');
|
| function llms_modify_course_post_type_args($args) {
|
| $args['labels']['name'] = 'Modules';
|
| $args['labels']['singular_name'] = 'Module';
|
| $args['labels']['add_new'] = 'Add Module';
|
| $args['labels']['add_new_item'] = 'Add New Module';
|
| $args['labels']['edit_item'] = 'Edit Module';
|
| $args['labels']['new_item'] = 'New Module';
|
| $args['labels']['view_item'] = 'View Module';
|
| $args['labels']['view_items'] = 'View Modules';
|
| $args['labels']['search_items'] = 'Search Modules';
|
| $args['labels']['not_found'] = 'No modules found';
|
| $args['labels']['not_found_in_trash'] = 'No modules found in Trash';
|
| $args['labels']['all_items'] = 'All Modules';
|
| $args['labels']['menu_name'] = 'Modules';
|
| $args['labels']['name_admin_bar'] = 'Module';
|
| return $args;
|
| }
|
|
|
| add_filter('lifterlms_register_post_type_lesson', 'llms_modify_lesson_post_type_args');
|
| function llms_modify_lesson_post_type_args($args) {
|
| $args['labels']['name'] = 'Steps';
|
| $args['labels']['singular_name'] = 'Step';
|
| $args['labels']['add_new'] = 'Add Step';
|
| $args['labels']['add_new_item'] = 'Add New Step';
|
| $args['labels']['edit_item'] = 'Edit Step';
|
| $args['labels']['new_item'] = 'New Step';
|
| $args['labels']['view_item'] = 'View Step';
|
| $args['labels']['view_items'] = 'View Steps';
|
| $args['labels']['search_items'] = 'Search Steps';
|
| $args['labels']['not_found'] = 'No steps found';
|
| $args['labels']['not_found_in_trash'] = 'No steps found in Trash';
|
| $args['labels']['all_items'] = 'All Steps';
|
| $args['labels']['menu_name'] = 'Steps';
|
| $args['labels']['name_admin_bar'] = 'Step';
|
| if (isset($args['labels']['parent'])) {
|
| $args['labels']['parent'] = 'Parent Steps';
|
| }
|
| return $args;
|
| }
|
|
|
|
|
|
|
|
|
| add_filter('lifterlms_register_taxonomy_course_cat', 'llms_modify_course_cat_taxonomy_args');
|
| function llms_modify_course_cat_taxonomy_args($args) {
|
| $args['label'] = 'Module Categories';
|
| $args['labels']['name'] = 'Module Categories';
|
| $args['labels']['singular_name'] = 'Module Category';
|
| $args['labels']['search_items'] = 'Search Module Categories';
|
| $args['labels']['all_items'] = 'All Module Categories';
|
| $args['labels']['parent_item'] = 'Parent Module Category';
|
| $args['labels']['parent_item_colon'] = 'Parent Module Category:';
|
| $args['labels']['edit_item'] = 'Edit Module Category';
|
| $args['labels']['update_item'] = 'Update Module Category';
|
| $args['labels']['add_new_item'] = 'Add New Module Category';
|
| $args['labels']['new_item_name'] = 'New Module Category Name';
|
| return $args;
|
| }
|
|
|
| add_filter('lifterlms_register_taxonomy_course_tag', 'llms_modify_course_tag_taxonomy_args');
|
| function llms_modify_course_tag_taxonomy_args($args) {
|
| $args['label'] = 'Module Tags';
|
| $args['labels']['name'] = 'Module Tags';
|
| $args['labels']['singular_name'] = 'Module Tag';
|
| $args['labels']['search_items'] = 'Search Module Tags';
|
| $args['labels']['all_items'] = 'All Module Tags';
|
| $args['labels']['edit_item'] = 'Edit Module Tag';
|
| $args['labels']['update_item'] = 'Update Module Tag';
|
| $args['labels']['add_new_item'] = 'Add New Module Tag';
|
| $args['labels']['new_item_name'] = 'New Module Tag Name';
|
| return $args;
|
| }
|
|
|
|
|
|
|
|
|
| add_filter('lifterlms_course_label', function() {
|
| return 'Module';
|
| });
|
|
|
| add_filter('lifterlms_courses_label', function() {
|
| return 'Modules';
|
| });
|
|
|
| add_filter('lifterlms_lesson_label', function() {
|
| return 'Step';
|
| });
|
|
|
| add_filter('lifterlms_lessons_label', function() {
|
| return 'Steps';
|
| });
|
|
|
|
|
|
|
|
|
| add_filter('lifterlms_breadcrumb_courses_archive_text', function() {
|
| return 'Modules';
|
| });
|
|
|
|
|
|
|
|
|
| add_filter('llms_course_continue_button_text', function($text) {
|
| return str_replace(array('Course', 'course'), array('Module', 'module'), $text);
|
| });
|
|
|
| add_filter('llms_mark_complete_text', function($text) {
|
| return str_replace(array('Lesson', 'lesson'), array('Step', 'step'), $text);
|
| });
|
|
|
|
|
|
|
|
|
| add_filter('llms_get_preview_icon_html', function($html) {
|
|
|
| return str_replace(array('Lesson', 'lesson'), array('Step', 'step'), $html);
|
| }, 20);
|
|
|
|
|
|
|
|
|
|
|
| add_action('wp_footer', 'llms_terminology_js_replacements');
|
| add_action('admin_footer', 'llms_terminology_js_replacements');
|
|
|
| function llms_terminology_js_replacements() {
|
| ?>
|
| <script type="text/javascript">
|
| jQuery(document).ready(function($) {
|
|
|
| function replaceTextInNode(node) {
|
| if (node.nodeType === 3) {
|
| var text = node.nodeValue;
|
| if (text) {
|
|
|
| text = text.replace(/\bCourse\b/g, 'Module');
|
| text = text.replace(/\bcourse\b/g, 'module');
|
| text = text.replace(/\bCourses\b/g, 'Modules');
|
| text = text.replace(/\bcourses\b/g, 'modules');
|
| text = text.replace(/\bLesson\b/g, 'Step');
|
| text = text.replace(/\blesson\b/g, 'step');
|
| text = text.replace(/\bLessons\b/g, 'Steps');
|
| text = text.replace(/\blessons\b/g, 'steps');
|
| node.nodeValue = text;
|
| }
|
| } else if (node.nodeType === 1) {
|
|
|
| if (node.tagName && (node.tagName.toLowerCase() === 'script' ||
|
| node.tagName.toLowerCase() === 'style')) {
|
| return;
|
| }
|
|
|
|
|
| if (node.title) {
|
| node.title = node.title.replace(/\bCourse\b/g, 'Module')
|
| .replace(/\bcourse\b/g, 'module')
|
| .replace(/\bCourses\b/g, 'Modules')
|
| .replace(/\bcourses\b/g, 'modules')
|
| .replace(/\bLesson\b/g, 'Step')
|
| .replace(/\blesson\b/g, 'step')
|
| .replace(/\bLessons\b/g, 'Steps')
|
| .replace(/\blessons\b/g, 'steps');
|
| }
|
| if (node.placeholder) {
|
| node.placeholder = node.placeholder.replace(/\bCourse\b/g, 'Module')
|
| .replace(/\bcourse\b/g, 'module')
|
| .replace(/\bCourses\b/g, 'Modules')
|
| .replace(/\bcourses\b/g, 'modules')
|
| .replace(/\bLesson\b/g, 'Step')
|
| .replace(/\blesson\b/g, 'step')
|
| .replace(/\bLessons\b/g, 'Steps')
|
| .replace(/\blessons\b/g, 'steps');
|
| }
|
|
|
|
|
| if (node.getAttribute && node.getAttribute('aria-label')) {
|
| var ariaLabel = node.getAttribute('aria-label');
|
| ariaLabel = ariaLabel.replace(/\bCourse\b/g, 'Module')
|
| .replace(/\bcourse\b/g, 'module')
|
| .replace(/\bCourses\b/g, 'Modules')
|
| .replace(/\bcourses\b/g, 'modules')
|
| .replace(/\bLesson\b/g, 'Step')
|
| .replace(/\blesson\b/g, 'step')
|
| .replace(/\bLessons\b/g, 'Steps')
|
| .replace(/\blessons\b/g, 'steps');
|
| node.setAttribute('aria-label', ariaLabel);
|
| }
|
|
|
|
|
| for (var i = 0; i < node.childNodes.length; i++) {
|
| replaceTextInNode(node.childNodes[i]);
|
| }
|
| }
|
| }
|
|
|
|
|
| replaceTextInNode(document.body);
|
|
|
|
|
| var observer = new MutationObserver(function(mutations) {
|
| mutations.forEach(function(mutation) {
|
| mutation.addedNodes.forEach(function(node) {
|
| replaceTextInNode(node);
|
| });
|
| });
|
| });
|
|
|
|
|
| observer.observe(document.body, {
|
| childList: true,
|
| subtree: true,
|
| attributes: false,
|
| characterData: false
|
| });
|
|
|
|
|
| $(document).on('llms-builder-loaded', function() {
|
| setTimeout(function() {
|
| replaceTextInNode(document.body);
|
| }, 100);
|
| });
|
| });
|
| </script>
|
| <?php
|
| }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| register_activation_hook(__FILE__, 'llms_terminology_flush_rewrite_rules');
|
| function llms_terminology_flush_rewrite_rules() {
|
| flush_rewrite_rules();
|
| }
|
|
|
|
|
| add_action('admin_init', 'llms_maybe_flush_rewrite_rules');
|
| function llms_maybe_flush_rewrite_rules() {
|
| if (get_option('llms_terminology_flush_rules', false) !== 'done') {
|
| flush_rewrite_rules();
|
| update_option('llms_terminology_flush_rules', 'done');
|
| }
|
| }
|
| |
| |
Comments