How To Translate LearnDash Courses To Other Languages - WooNinjas

How To Translate LearnDash Courses To Other Languages

An incredible aspect of WordPress is that it is widely used throughout the world to create all types of successful websites. Due to its worldwide popularity, there is a growing need for its subjects and modules to be internationalized so that the platform can adapt to different languages. 

Crossing language barriers is especially important for e-learning site owners looking to impart courses in different languages. If you are looking to translate LearnDash into a different language, this post will introduce you to some of the options available for translation. If you need more help moving forward, our LearnDash Experts are available to help you select the best translation solution for your online courses and configure it on your site. 

Tools You Can Use To Translate LearnDash Courses

LearnDash Multilingual Integration Add-on

As a part of their compatibility Addons, LearnDash offers a Multilingual Integration that works with two popular third-party translation plugins, WPML and Polylang.

To get started download the Multilingual Add-on file, install, and activate it on your site.


WPML is a WordPress plugin that helps you turn your site into a  multilingual site. With this translation plugin, you can translate pages, posts, custom types, taxonomy, menus, and your site’s theme texts. As an additional benefit, WPML offers great compatibility and can work with every theme or plugin using the WordPress API. With the LearnDash Multilingual Integration add-on, the transition is even smoother.

Get started by Downloading WPML main components, and installing and activating the plugin on your site. Next, follow the steps on the setup wizard to select your site’s languages and customize language switchers in your site.


Polylang allows you to create a bilingual or multilingual WordPress site. After you create a post, page or lesson and create categories and post tags as usual, you can define the language you want to use for each. This way you have total control about which of your course content gets translated and which is kept in its original language. You can also alternate into as many languages as you need, including RTL languages. For your comfort, WordPress language packs are automatically downloaded and updated.

To get started, install and activate the plugin on your WordPress site. A setup wizard will emerge to help you configure the plugin. In the language section, you can select which languages to use from over 90 predetermined options. Keep in mind that the first language selected will be used as your website’s default language.


PoEdit is a useful piece of software available for free that can help you create and edit translation files for your LearnDash site. Since LearnDash is in English, it has user-donated translations in its code. Strings from code in the LearnDash codebase are translatable though, with the help of programs like PoEdit.

To translate these strings of code translatable texts are extracted and compiled in a master PO file. The PO file is translated into different languages, resulting in an alternative file for each language. 

This program’s features provide translators with an easy to use editor for gettext. To further increase efficiency PoEdit includes functions such as pre-translation and machine translation.

If you have to refresh a translation in your LearnDash site, you can do as such by following these steps: 

  1. ​Navigate to LearnDash LMS > Settings > Translations
  2. Download the most recent POT document by tapping the POT download button.
  3. Download the .po document by tapping the PO download button.
  4. Open the .po document with PoEdit 
  5. Make your additions as well as changes to the interpretation document 
  6. Save the .po record 
  7. Recover the new .mo record through File> Compile to Mo
  8. Utilizing a FTP program or File Manager, add your new .mo and .po records to the /wp-content/dialects/modules/organizer

If you don’t feel comfortable editing and translating code, but need your site to be multilingual, worry not. Our LearnDash Experts can effortlessly help you set up these translations. If your site requires specific multilingual features, our developers also provide LearnDash customization services, helping you obtain the exact feature set you’re looking for.

Loco Translate

As an alternative to using the PoEdit software, you can use the Loco Translate plugin to edit your LearnDash translation files within your browser. With this plugin, you can create and edit your language files directly from your WordPress admin. Additionally, the plugin is also equipped to extract translatable code strings from your original source code for translation.

You can use this guide to learn more about using the Loco Translate plugin to translate your LearnDash LMS site theme.

A Translation Example With Loco Translate

If you want a clearer look at how to use Loco Translate for your LearnDash translations to take a look at this example for Spanish translations:

  1. Get started by selecting Plugins from your WordPress Dashboard and then selecting Add New.
  2. Using the search bar look up “Loco Translate” and then download the corresponding plugin by selecting Install Now.
  3. Once installation is complete click on the Activate button. Next, the Loco Translate menu will be added to your WordPress Dashboard.
  4. To add a translation for the LearnDash plugin with Loco Translate, navigate to Loco Translate from the dashboard, and then select Plugins. Then click on the New Language button. This will make a vacant .po record for the interpretation.
  5. To get the writings to translate press the “Rescan” button for the language. That will filter your module records searching for text.  Then press the Edit button so you can begin translating.
  6.  Next click on the  “create mo-record” button inside the Edit area to convert your .po document into a .mo file.

What Translations Are Supported By LearnDash?

Currently, LearnDash supports the following translations:

  • Arabic (ar)
  • Chinese (zh_CN)
  • Danish (da_DK)
  • Dutch / Nederland (nl_NL)
  • French (Canada) (fr_CA)
  • French (France) (fr_FR)
  • German (de_DE)
  • Hebrew (he_IL)
  • Italian (it_IT)
  • Polish (pl_PL)
  • Portuguese (Brazil) (pt_BR)
  • Spanish (Spain) (es_ES)
  • Swedish (sv_SE)
  • Right-to-left (RTL) languages are supported.

Translate LearnDash LMS to RTL Languages

rtl language

There are a number of people who use RTL language on their websites. Learndash flexibly allows the users to use this RTL format in every course they offer. It meets the needs of RTL language-speakers with support for languages like Arabic, Hebrew, Urdu, Persian, and more. Furthermore, every piece of content can be translated. It is widely compatible with the leading page builders along with the comprehensive documentation and timely support for its users.

LearnDash is compatible with almost all WordPress themes. But, out of these, LearnDash is better suited with themes specifically built for the LMS plugin. LearnDash themes are a much smaller set than WordPress themes. And, out of all the LearnDash WordPress themes, the themes that support RTL are even fewer in number.

Setting Up RTL Translation In WordPress

WordPress will load the rtl.css file after it loads the normal styles.css, so the RTL CSS file only needs to override attributes that need to change. This means that the rtl.css file is usually pretty small, for most themes. The ‘direction’ attribute in CSS tells the browser the direction of the page. For RTL languages, you want to set it to ‘rtl’. There’s another ‘magic’ attribute that you should set for proper RTL display. It’s called ‘unicode-bidi’. That ‘magic’ attribute is pretty simple to understand when you’re used to writing in RTL. It controls the way characters are displayed inside the line.

For proper RTL display, add the following to the .body selector:

Copy to Clipboard





If users use a CSS generator tool, users will now need to enqueue new style-rtl.css stylesheet so WordPress can load it in at the appropriate time. This is just a matter of adding a snippet to your theme’s functions.php file:

Copy to Clipboard

function enqueue_theme_files() { 

    wp_enqueue_style( 'themeslug-style', get_stylesheet_uri() ); 

    wp_style_add_data( 'themeslug-style', 'rtl', 'replace' ); 


add_action( 'wp_enqueue_scripts', 'enqueue_theme_files' );

Does this sound a little bit too complicated? If you are feeling lost about translating your LearnDash site to an RTL language, our team can help you take some of the stress out of the situation. Just reach out to our LearnDash experts  and tell us more about your site and translation needs. We can work together to configure an out-of-the-box solution or offer LearnDash customization to make the process as seamless and simple as possible.

Prevent Issues With These Tips From Our LearnDash Experts

Make Sure You Work With An Updated Pot File

Attempting to translate your LearnDash site from an outdated translation file will lead to translation changes failing to be made. Make sure you download the latest pot file and then modify that file accordingly for the best results.

Select The Right Locale

In some cases, languages have different versions, like for example with the Spanish language from Mexico and Spain. You have to be especially cautious to select the right file since each version will have its own and will be considered as its own language by WordPress. If your LearnDash site localization is set to, for example, es_MX, then that setting will not pull any information from your es_ES translation files, even if generally speaking they are the same language.

Correctly Name and Save Your File

To avoid issues with incorrect file names or folders to ensure your LearnDash translation files are in the following folder path, with the file names that include locale code, as seen here:

  •  /wp-content/languages/plugins/learndash-es_ES.po
  • /wp-content/languages/plugins/

You should also ensure your hyphens and underscores are in the right places, as seen here:

  • learndash-es_ES.po

Bottom Line

Are you running a LearnDash site created for a multilingual audience? Check out this tutorial to seamlessly manage translations on your website and make your site friendly for all. Click To Tweet

Running a multilingual LearnDash site with translations used to be a challenging task. However, new tools such as the ones mentioned above have made the process easier to achieve. Multilingual sites that require very specific translation features can also be set up with carefully implemented LearnDash customization.

You can also work with LearnDash experts to make the translation of your site as effortless and efficient as possible.We’ll look into your project and work with you to find the most convenient solution.

Share This Story, Choose Your Platform!