How to Translate Your WordPress Site into Any Language With Poedit and the MD Child Theme

One of the many things that makes WordPress great is how translatable it is to any language, opening it up as the premier software for the entire world to use. In this guide I will show you how to fully translate the text strings MD adds around your site from English to any language you prefer to use on your own website.

Thanks to following WordPress coding standards, Marketers Delight can be fully translated using popular translation tools and Plugins.

Since I rarely recommend Plugins, I am going to show you how to use your child theme and the premier translation tool, Poedit, to safely translate your website fully into your language.

Even if your site is already in English but you’d still like to change certain text strings around your site, the following methods will work fine for you too.

For organizational reasons, it will be best to keep your custom translations in your child theme since that is where the rest of your custom changes (templates, CSS, scripts, etc.) are also stored, and you won’t have to worry about losing your translations when MD gets its next great updates.

Let’s dive right in, shall we?

Step 1: Download the MD.pot file from the Members Area

MD Member-only content!

Login to AccountGet started with MD today →

The MD.pot file is a collection of all strings used on the frontend and backend of your site. This file is used as a blank template for you to compare and add strings at a glance, and Poedit makes it possible to translate strings very fast.

There’s a lot of strings in this file so know that you only have to change the strings you want to get started, and you can always come back later to make adjustments.

You will need to download the MD.pot file from your members area (or above) which will continuously be updated as each new version of MD is released and new text strings are added.

Step 2: Translate Strings With Poedit

As already mentioned, the translation software we will use is called Poedit, the best and industry standard for translation tools.

After you download and install Poedit and unzip the MD.pot file, open it up in Poedit to see a blank template:

Now we want to create a new translation with this template. Click the button where it says “Create New Translation” and select your language:

Now you will be able to start scrolling through all of the strings and start typing your translations. For this example I am going to translate the search bar text in the MD Main Menu.

Here’s how the translation process looks in Poedit with this particular string:

Translated text strings MD Poedit

Poedit has an incredible pre-translate feature which you can run to automatically translate all strings, then make corrections instead of going one by one. This may be worth experimenting with if you want to translate your entire site!

Pre translate text Poedit

Step 3: Save .MO and .PO Files From Poedit

Now that you are done translating your strings, it is time to save upload your translations to your site.

Poedit will save two files with a .mo and .po extension respectively. To save your translation, go to File > Save As and save your translation accordingly.

In this example I am translating to Italian, and the language code for the language is it. The proper name I need to save this file to, however, is this:

it_IT.mo
it_IT.po
Poedit translation

It is important you get this step right as the file names need to be exact to your language to be read by WordPress! As soon as you save, Poedit will automatically give you your language code, so simply type an underscore then the capitalized letters to get the proper name. Pretty easy!

Step 4: Upload .MO and .PO Files, Register Child Theme Translation

Via FTP or Files Manager, navigate to your child theme folder /wp-content/themes/child-theme-name/ and create a new folder called languages.

In that folder simply upload the .mo and .po files you just saved to the file.

…and now open your functions.php file. The last thing we need to do here is register our translation with WordPress.

Paste this function to the end of your functions.php file and save/upload the file when you are done:

/**
 * Add child theme translation to WordPress.
 *
 * @since 1.0
 */ 
 function md_child_textdomain() {
     load_child_theme_textdomain( 'md', get_stylesheet_directory() . '/languages' );
 }
 add_action( 'after_setup_theme', 'md_child_textdomain' );

Step 5: Enable New Language, Check Your Site for Success

Now that the hard part is over, login to your WP admin and go to Settings > General > Site Language.

If your language is successfully installed you will see it at the top of the list of languages from this setting, and you can simply select it to translate your entire site.

Enable your language and now watch as your site translates all of WordPress, and applied the translations you just made from your child theme. Let’s check out the search bar in the main menu now:

Translation Complete!

Now you know how to translate your website into your language with the simplicity of Poedit and your child theme. I have plans to further enhance the translations process in future versions of Marketers Delight, but for now the robustness of Poedit will get you to where you want.

This article was inspired by the many great discussions had at the MD Forums, and I always share the most profound discoveries and support questions here on the blog.

If you have questions of your own and want to learn how to use MD and WordPress more effectively, post at the MD support forums to start the conversation.

Not using Marketers Delight yet?

Learn how to take back control of WordPress and create a conversion-optimized and community-oriented website with Marketers Delight today:

4 comments add yours

  1. I have translated everything with Loco Translate plugin, and it’s way much easier method. No need to download and upload any files. Have you tried Loco Translate?

    • I haven’t tried it, but just looked it up at the WP Plugins directory and it looks great!

      I’d be curious to evaluate it from a performance standpoint but the screenshots look like it’s very well-designed and it certainly has translated your website well.

  2. Hi Alex,
    It is working, thanks for posting! I am courious about comment above if it can be applied to MD as well. But anyway for sure it is a progress for people outside “English” world 😉
    Many thanks and cheers!

    • Hey Michal, I’m glad you found this post!

      LocoTranslate looks like it is a great solution for translation. I have not tried it but it looks like a quality plugin solution.

      For potentially less overhead, the process in this article translates your site through a child theme once, with the added benefit that you don’t have to see anything about it again in your dashboard since it’s not something you may need to frequently access.

      There are pros and cons but you know you are covered either way. 🙂

Leave a Comment