Skip Navigation
April 10, 2024

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

Start by installing and activating the following:

New to WPML? Check out our Getting Started Guide. It quickly walks you through all the translation options you can use.

How To Translate a LearnDash Course

With WPML, translating a LearnDash course consists of 4 steps:

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:

Step 1: Translate LearnDash Taxonomies 

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. 

Making LearnDash categories and tags translatable in WPML Settings

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.

Step 2: Duplicate LearnDash Courses and Course Elements (Lessons, Topics, Questions)

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:

  1. 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.
  2. Choose the course(s) you want to translate. 
  3. 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.
Duplicating LearnDash courses
  1. Repeat steps 1-3 to duplicate other elements, such as lessons, topics, quizzes, etc. associated with the course(s) that you want to translate.

Step 3: Manually Translate the Course and Course Elements

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. 

  1. Course
  2. Lesson
  3. Topic
  4. Quiz
  5. Question

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.

Switching to the WordPress Editor to manually translating the course

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.

Step 4: Manually Connect the Translated Course Elements to the Course

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:

  1. Edit the translation of a course element, for example, a translated lesson.
  2. 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.
Manually connecting the translated lesson to the translated associated course

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. 

How to Connect LearnDash Elements with Shared Course Steps Enabled

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.

Associating the course elements using the course builder

Example 1: Manually Translating a Lesson and Connecting it to a 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. 

  1. 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.
Switching to using the WordPress Editor for translating LearnDash lessons

  1. Click the pencil icon next to the language you want to translate your duplicated lesson into. 
Clicking the plus icon to translate the lesson
  1. 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.
Selecting the option to translate the post independently
  1. 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.
Connecting 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.

Example 2: Manually Adding Answers to Translated Questions

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:

  1. In the right sidebar, choose the Answer type.
Selecting the Answer type for the translated question

  1. Manually input the translated answers. Make sure to also check the box next to the correct answer.
Manually adding the translated answers
  1. 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.
Connecting the translated version of the question to the translated version of the quiz

How to Translate Other LearnDash Elements

Translating LearnDash Texts

Besides courses, lessons, and topic-related content, LearnDash has global texts, such as the lesson navigation buttons.

Example of lesson navigation buttons 

To translate these texts and other texts that come from the LearnDash plugin, follow these steps:

  1. Go to WPML → String Translation and use the In domain dropdown to select the learndash domain. 
  2. Search for the text that you want to translate. In this example, we translate the Mark Complete text.
  3. Click the plus icon, add the translated text, then hit enter to save.
Translating a lesson navigation button in String Translation

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.

Translating texts that include placeholders

Translating LearnDash Pages

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:

  1. 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.
  2. Duplicating and manually translating the page.

Translating LearnDash Email Notifications

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.

Known Issues

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:

You can also search all known issues including previously resolved issues for this plugin.

Getting Help From Our Support

In case you need help translating your site built using LearnDash and WPML, visit WPML’s support forum.