Skip Navigation
September 19, 2023

WPML allows you to use one of many professional translation services to translate your site. Learn how to send and receive content right from your website’s admin.

This page is about the how-to steps for translating your website. We recommend you also read the related page about professional translation via WPML. It explains how to choose the best translation service for your website, how to estimate the translation costs and more.

On This Page:

Connecting Your Website to a Translation Service

In order to send content to a translation service and receive translations back to your site, you need to connect your site with a compatible translation service. There are two different ways you can do this:

  • Choose from WPML’s directory of translation services
  • Choose an unlisted translation service

Then, you need to authorize the service using an API token.

Choosing from the Directory of Translation Services

We have dozens of partner translation services who are already familiar with how WPML works. You can browse through these services in our Translation Services directory.

Choosing one for your site is as simple as searching for them in the WPML plugin.

First Time WPML Installation

If you are installing WPML for the first time, you can choose the translation service directly from the setup wizard:

  1. When you reach Step 4 – How would you like to translate the content? select the Translate What You Choose option and click Continue
Selecting the Translate What You Choose translation mode
  1. On the Who will translate? screen, select A Professional Translation Service and click to find the one you want to use.
Selecting a Translation Service during WPML setup

WPML Already Installed

If you already installed WPML and went through the setup wizard, you can search for the translation service by going to WPML Translation Management, and click the Translators tab.

Selecting a Translation Service when WPML is already configured

Choosing an Unlisted Translation Service

If you can’t find your preferred translation service in the directory, you can often connect with the service by adding a code snippet to your wp-config.php file.

To do this, contact your translation service to request the code snippet, or refer to the welcome email you received.

Editing WordPress system files should only be done by the site’s developer or system administrator. If you’re not versed and confident in doing this, contact your developer and ask them to do this for you.

Copy the snippet, then open your site’s wp-config.php file. You can install a plugin like WP File Manager to access your site’s files if you don’t have them on your computer.

Editing a site’s wp-config.php file

Paste the snippet in the file just before the following line and save:

/* That's all, stop editing! Happy publishing. */

Now, when you go through the setup wizard or go to WPML → Translation Management and click the Translators tab, your preferred translation service will be preselected.

If your preferred translation service isn’t integrated with WPML yet, please direct them to our documentation about how they can sign up for Translation Hub and start translating WordPress sites.

Entering the Service’s API Token

Once you have your preferred translation service enabled, you need to authenticate it with an API token.

Some translation services include this information in the welcome email. If you can’t find the email or didn’t receive one, please check the documentation for your specific translation service in our translation service directory.

When you have the API token, go to WPMLTranslation Management and click the Translators tab. Scroll down to the translation service and click Authenticate. Enter the API token to finish connecting to the service.

Authenticating a translation service

Getting Your Content Translated

Hiding a Language During Translation

Before you even start translating you will want to make sure your visitors don’t see that your target language is still a work in progress.

When you hide a language, only those with access to the back-end can see the translated content. As a result, users on the front-end won’t see any broken content or incomplete translations while you are still working on it.

To hide a language, go to WPML Languages and scroll to the Hide languages section.

Hiding a language while translating it

How Much Are You Going to Pay for the Translation?

Before you decide to send your content for translation you will want an idea of how much it will cost. There are things you can do which will not only give you an idea of how much it will be but can help reduce your costs.

Translation services charge per word so you only need to know the number of words in your content and the service’s price per word. Multiplying these two numbers will give you your cost estimate. It’s an estimate because some translation services have ways of caching sentences you already paid translation for. This way, you pay for repeating sentences only once.

You can get an estimation of costs by using the WPML word count.

Go to WPML → Translation Management and select the items you want to translate. At the bottom, you can see a Word count estimate.

Getting the word count on the Translation Dashboard page

You can also get a word count for entire post types by clicking Word count for the entire site next to the estimate.

How to Send Content to the Translation Service

Use the WPMLTranslation Management page to send your first pages to the translation service:

  1. Select the content you want to translate and click the button to send selected content to the translation basket.
  2. Click the Translation Basket tab and click the Send all items for translation button. A notice will appear that items were sent to the translation service.
Translation Basket confirmation about sending contents for translation

Paying for the Translation

Once content has been submitted for translation, the translation service scans it and calculates its cost. Do not forget to go to the translation service website and pay for the work so that they can start working on it. Most translation services allow you to deposit additional funds, so you do not need to pay per job.

How to Receive Completed Translations

Translations can be delivered automatically or only when you manually click to fetch them. You can configure this on the WPML Settings page, under the Translation pickup mode section.

If your site is set to pull content automatically from the translation service, the translations will appear directly on your site. On the WPML Translation Management page, translated pages are marked with a green icon.

Translated content is marked with a green icon

If your site is not set to pull content automatically from the translation service, go to WPML Translation Management and click the Check status and get translations button.

Manually checking the translation status and getting the translations

Canceling Translation Jobs

Sometimes, you might need to cancel translation jobs but you cannot do this directly from WPML. You must contact the translation service and ask them for cancellation. Refer to your service’s dedicated documentation (find it on our directory page) for instructions on canceling translation jobs.

If you have set content to be delivered automatically, once the translation service cancels the job, the cancellation will be automatically synced with your site as well. 

If you have set to fetch content manually, you must go to the Translation Management page and click the Check status and get translations button.

As a result, WPML will remove all canceled jobs from the Jobs tab.

Keeping Translations Up To Date

If you edit a translated page, WPML will indicate that the translation needs to be updated. You can send your page for professional translation by following the same steps as before.

If your edits are minor or you prefer to do the update page yourself, see our documentation about updating translations without resubmitting them to a translation service.

Translating the Rest of Your Site

After translating your site’s content, you might still see some other texts that are not translated. They usually come from the theme, plugins, widgets, and similar places.

Here’s how to take care of them as well.

Identify and Send Other Site Texts for Translation

Anything that doesn’t fall inside posts, pages, or taxonomy goes into String Translation. You can use this module to send all missing texts to your translation service.

Go to WPML String Translation, select the strings you want to translate, and click the Add selected strings to translation basket button.

Sending strings for translation

Head to the Translation Basket tab where you can review your items before sending them to the translation service.

Translate Your Website’s Menu

Once you have received translations for your menu elements you will want to display them on the front-end. A quick way is by using the menu sync tool which keeps your menus in different languages synchronized.

When you head to WPML WP Menus Sync you can see which elements are translated and ready to be added. Click Sync to add them.

Translate Your Media

Media files can include text information like the image title and alt attributes.

When you send your posts and pages to a translation service, WPML includes these image texts with the rest of the content. In other words, the translation service will translate them along with the other text.

You can also translate texts you add to images using the Media Library. To enable this, go to WPMLSettings, scroll to the Media Translation section, and check the Translate media library texts with posts option.

Finally, to display different images for different languages, you need to use the WPML Media Translation add-on.

Setting Up Translation Notifications

If you would like the Translation Manager to receive email notifications when a translation job is completed, go to WPML → Settings. Click the Translation Notifications tab. On this page, you can choose the frequency of the notifications.

Setting up translation notifications

If you do not see the Translation Notifications tab, set up a Translation Manager to be in charge of your site’s translations.

Prioritizing Your Translations

To ensure your most important content (including strings) is translated first, you can add priority status to your translations. It allows you to keep track of what needs translating next.

When you edit a post or page, a Translation Priority option is available in the Language box.

You can then filter your content on WPML Translation Management by importance.

Filtering content by translation priority

What If Your Received Translations Are Not Appearing

If you know that a translation job is complete but is still labeled as “in progress” then there are three options you can try:

  • Head to WPML Translation Management and click the Check status and get translations button.
  • Go to WPML → Translation Management and click the Jobs tab. On the list of jobs, find the one you need and click the Check status icon. You can find this icon in the Actions column.
  • Edit the page in question (in original language) and resave the page.  Make sure you don’t actually do any changes before saving.