WPML is open to translation services who are interested in integrating. Integrating with WPML gives translation services access to over 1/2 million multilingual WordPress sites and a streamlined translation workflow. This document explains how to join WPML’s integration program, how translation services appear to clients and the costs involved.

Why integrate with WPML?

Simply because WPML can help you access a whole new market of business opportunities and worldwide recognition.


How clients see translation services in WPML

WPML allows to translate content using three methods:

  • Manual translation – by creating translations, similarly to how the original content is created (using the WordPress content editor)
  • WPML’s Translation Editor – using translators, working from inside the WordPress admin with WPML’s internal translation editor
  • Professional translation – using one of the translation services which is integrated with WPML

In this document, we focus on the third option of translating content with a translation service. This option is intended for clients who wish to get paid translation work for their site’s content.

Clients who have no relationship with translation services

Some clients have no previous relationship with translation services. They will find a translation service from the list in WPML (those translation services that are integrated with WPML). In case clients have no previous relationship with translation services, they will see a list of translation services to choose from. All the translation services that are integrated with WPML will appear in that list.

Clients who already have a relationship with translation services

Other clients are already working with a translation service before they start their first multilingual WordPress site. In this case, the translation service will refer these clients to WPML, as the way to translate WordPress sites. When clients use WPML after they already have a relationship with a translation service, WPML will offer only that service to clients. These clients will not see the list of other translation services, as this list is not relevant for them.

Connecting WPML to the different APIs of different translation services

Different translation services have different communication protocols (APIs). To accommodate this variety, the communication goes through a protocol adjustment server, which we call WPML Translation Proxy. As the name suggests, this proxy receives the content using one communication protocol and converts it to other protocols.

All sites using WPML communicate with a single Translation Proxy. This allows WPML sites to always use the same communication protocol. The Translation Proxy buffers the content and sends it to different translation services, each in their own protocol. This way, translation services can integrate with WPML, without having to change their APIs.

Basic features required for integration with WPML:

  • Ability to set up new projects
  • Ability to receive content for translation
  • Support for content that includes HTML markup
  • Ability to send notifications when translations complete

The translation workflow

Authenticating to the translation service

Clients need to connect their WordPress sites with accounts on the translation service. Different services require different credentials. WPML has a flag that says if the translation service is ‘authenticated’. Meaning, if the client already entered the credentials that the translation service requires.

Until clients authenticate, they cannot send content to translation. WPML will display a dialog that allows users to enter their credentials for the translation service.

Translation Service authentication popup
Translation Service authentication popup

Once a site is authenticated, clients can send content to translation from that site.

How clients send content to translation

Clients will go to WPML’s Translation Dashboard to select the content to translate.

Using Translation Management Dashboard to send content for translation
Using Translation Management Dashboard to send content for translation

WPML shows how many items were selected for translation and gives an estimate for the word count (this estimate doesn’t take into account translation memory).

Clients add content to WPML’s Translation Basket, which is the last step before sending to translation.

Translation Basket page
Translation Basket page

The purpose of the translation basket is to collect material for translation from different parts of the site and send it, in one batch, to translation.

In the translation basket, clients will do a final review for the content to translate, select to which languages to translate, optionally name the translation batch and send it to translation.

Allowing clients to setup jobs on the translation service system

Some translation services need clients to do additional ‘job setup’ on their system, before translation can begin. This can include selecting the translation workflow or anything else that’s unique to the translation service.

In these cases, after clients send content to translation, WPML will display instructions for final job setup. Clients will need to follow a link to the project on the translation service system. WPML gets that ‘job setup’ link from the translation service, when sending it the job.

Many web pages contain links. WPML automatically updates links in translation, so that it points to translated content and not to the content in the original language. This way, translators don’t need to worry about links between content. Translators need to translate the text and can ignore links. WPML will update links between translated content, no matter in what order that content is translated.

Joining WPML’s Translation Service integration program

Who does the integration?

The integration between WPML and translation services happens in WPML’s Translation Proxy. Our integration team will develop the module for each translation service, test it and support the integration.

What WPML integration team needs

Before we will start working on the integration with your service we have to discuss a few details including:

  • API – your Translation Management System should offer a public API  to be able to send content for translation.
  • API documentation – the better the documentation the easier integration.
  • Access to test server to test all API requests.
  • Support for XLIFF files*
  • Support for callbacks (notifications/webhooks) to notify our systems about translations ready for download*

*simplifies integration but it is not mandatory

Costs for translation services

As a general rule, for every translation delivered from your service (Translation Service) to client’s website we will charge you (Translation Service) a small fee. That fee will be calculated based on the real amount of money client paid for the translation (only if we can get this information from your API) or on the number of new/modified words in the translation.

We will charge a commission only in case the client has no working relationship with the translation service (found the translation service via WPML). If the client buys WPML after already working with the translation service, we will not charge any commission. This includes all projects coming from that client, on any website.

How do we distinguish which clients are from your recommendation?

There is a simple solution for this. Every time you will advertise and recommend WPML for your clients, please add tsuid param to all links pointing to wpml.org pages.

Based on this tsid param wpml.org sets a 90 days cookie to mark the user as your referral. If during those 3 months user will buy WPML licence, wpml.org will assign your service to that client’s account. Based on this information we will know that we should not charge you (Translation Service) any fee for the translations delivered from your system to that client’s website.

What will happen with your (Translation Service) clients that already have a WPML account?

If you know that given clients bought WPML from your recommendation please send us their email addresses or WPML login names (not passwords) and we will mark them manually in our system as your referrals.

Translation Services visibility in WPML

For all clients marked in our system as your referrals we will limit number of Translation Services visible on the Translators tab in WPML, only to yours. This way, WPML does not advertise competing translation services to your clients.


Please fill this form and we will get back to you very soon, to discuss the integration between WPML and your translation service.

  • Please introduce yourself and the translation service that you are representing