LearnDash is a Learning Management System (LMS) plugin that enables you to create educational websites. With WPML and LearnDash, you can set up a multilingual educational platform and translate your LearnDash courses to cater to a diverse audience.
On This Page:
- Getting Started
- How To Translate a LearnDash Course
- Step 1: Translate LearnDash Taxonomies
- Step 2: Duplicate LearnDash Courses and Course Elements (Lessons, Topics, Questions)
- Step 3: Manually Translate the Courses and Course Elements
- Step 4: Manually Connect the Course Elements to the Course
- Example 1: Manually Translating a Lesson and Connecting it to a Course
- Example 2: Manually Adding Answers to Translated Questions
- How to Translate Other LearnDash Elements
- Known Issues with LearnDash
- Getting Help From Our Support
Start by installing and activating the following:
- LearnDash plugin
- LearnDash LMS Multi Language plugin
- WPML core plugin and WPML String Translation add-on
New to WPML? Check out our Getting Started Guide. It quickly walks you through all the translation options you can use.
With WPML, translating a LearnDash course consists of 4 steps:
- Step 1: Translate LearnDash taxonomies
- Step 2: Duplicate LearnDash courses and course elements
- Step 3: Manually translate courses and course elements
- Step 4: Manually connect the course elements to the course
Do you have Translate Everything Automatically enabled?
If you have Translate Everything Automatically turned on, WPML will translate your content automatically. This includes your courses and course elements like lessons, topics, etc.
In this case, you don’t need to follow the steps for translating your courses. You can skip to step 4: manually connecting LearnDash lessons, topics, and the quiz to the course.
Additionally, you can use WPML to translate other LearnDash course elements, including global texts like the Next Lesson button or pages that list all your courses:
LearnDash offers categories and tags for courses, lessons, and topics. These are separate from WordPress’ default category management system.
To translate LearnDash categories and tags, you need to set them as translatable. To do this, go to WPML → Settings and mark relevant taxonomies with one of the two Translatable options in the Taxonomies Translation section.
You can then translate the LearnDash taxonomies from WPML → Taxonomy translation or from the taxonomy edit screen. For a step-by-step guide to the different translation options, check out our page about translating taxonomies.
WPML automatically assigns the translated category and tag to the translated LearnDash element.
Next, you can move on to duplicating your course(s) and any associated lessons, topics, quizzes, questions, etc. into the secondary language you want to translate your course into.
Start by navigating to WPML → Translation Management:
- Use the All types drop-down menu to select Course and then click on the Filter button. You will see a list of all the courses that you have on your website.
- Choose the course(s) you want to translate.
- In the Select translation options section, choose the Duplicate content option that corresponds to the languages that you want to translate your course(s) into. Then, click the Duplicate button.
- Repeat steps 1-3 to duplicate other elements, such as lessons, topics, quizzes, etc. associated with the course(s) that you want to translate.
Once you duplicate your courses and course elements, you can move on to manually translating them.
Just as you initially set up your LearnDash course in a structured manner, you need to translate your LearnDash course in a specific order. This order ensures that in the next step, you can connect each element to its translated counterpart correctly.
To get started, simply edit each course and then, course element. In the Language box, switch to using the WordPress Editor and click the pencil icon next to the language you want to manually translate the course or course element into.
Before you start manually translating the content, make sure to press the Translate Independently button in the Language box. This unsycs the secondary language content so your translations won’t be overwritten when you update the default language page.
Once you manually translate your course elements, such as a lesson, you must connect it to the translated version of the course. By translating the course before moving on to the lesson and so on, you keep the correct structure.
If you’re using the Translate Everything Automatically mode and WPML translated your course and course elements, you also need to follow this step and manually connect the translated course elements to the associated course.
To manually connect a translated course element to the translated course:
- Edit the translation of a course element, for example, a translated lesson.
- Go to the Settings tab and use the Associated Course dropdown menu to connect your translated lesson to the translated course. Click Update to save your changes.
It’s also important to note that when you duplicate questions, the answers don’t get copied to the secondary language. As a workaround, you can edit each translated question and then manually add the questions’ answers in the secondary language.
If you enable LearnDash shared course steps, you cannot go to the Settings tab to connect your translated LearnDash elements. Instead, you need to do it through the Course Builder. This is actually how LearnDash works with shared course steps enabled, even if you are building your site in one language.
Once you translate all the lessons, topics, quizzes, and questions associated with the course, edit the course in your secondary language. Then, navigate to the Builder tab. From the right sidebar, select and add the translated lessons, topics, and quizzes associated with the course.
In this example, we cover the exact steps of translating a lesson and connecting it to the associated course. Note that we have already translated our course to be able to link the translated lesson to it.
- Edit a lesson in your default language. From the Language box, switch to using the WordPress Editor. In the dialog that opens, use the editor to translate this lesson or all lessons, depending on how many lessons you have. Then, Apply the settings.
- Click the pencil icon next to the language you want to translate your duplicated lesson into.
- In the Language box, click the Translate independently button. Then, manually input the translations for your LearnDash elements. Make sure that you don’t translate any shortcodes.
- Once you finish manually translating the lesson content, navigate to the Settings tab. Choose the translated version of the course under the Associated Course drop-down menu and click the Update button to connect the translated lesson with the translated course.
Repeat the same steps for other lessons as well as your topics, quizzes, questions, and other course elements. Don’t forget to maintain the translation order.
After you follow the steps to manually translate your course questions, you need to manually translate and add the answers.
To do this, edit the question in your secondary language. Then:
- In the right sidebar, choose the Answer type.
- Manually input the translated answers. Make sure to also check the box next to the correct answer.
- From the Settings tab, make sure to connect the translated version of the question to the translated version of the quiz. Finally, hit the Update button to save the translation.
Besides courses, lessons, and topic-related content, LearnDash has global texts, such as the lesson navigation buttons.
To translate these texts and other texts that come from the LearnDash plugin, follow these steps:
- Go to WPML → String Translation and use the In domain dropdown to select the learndash domain.
- Search for the text that you want to translate. In this example, we translate the Mark Complete text.
- Click the plus icon, add the translated text, then hit enter to save.
Note: Some LearnDash texts include placeholders, such as Next Topic. To search for this text on the String Translation screen, search for Next %s and look for the corresponding context in the Context column. In this case, it is placeholder: Topic.
LearnDash offers shortcodes and Gutenburg blocks that allow you to insert its content into your pages. For example, you can create a page that lists all the courses on your site using the [ld_course_list] shortcode.
You can translate pages that include LearnDash blocks or shortcodes in two ways:
- Using WPML’s Advanced Translation Editor. Note that the shortcodes won’t show on the translation editor screen. WPML automatically copies the shortcode to the secondary language page. We recommend this method to translate pages.
- Duplicating and manually translating the page.
LearnDash allows you to send email notifications to the website admin and the user when a user completes a quiz. Currently, you can only send email notifications in the site’s default language.
WPML works fine with this plugin, but sometimes there could be minor issues we're working on. This is expected as both plugins provide frequent updates.
Current unresolved issues:
- LearnDash – “Enable Nested URLs” conflict with “Translatable – use translation or fallback to default language” mode
- LearnDash LMS – Certificate preview is missing in the Editor’s Visual tab
You can also search all known issues including previously resolved issues for this plugin.
In case you need help translating your site built using LearnDash and WPML, visit WPML’s support forum.