Skip Navigation
Updated
January 21, 2022

Translation Hub allows translation services to easily integrate with WPML. It offers simple integration without development work.

  • Clients will send jobs directly to the translation service, without the need for back and forth emails.
  • Translators will easily receive the jobs, translate and return them, without needing access to the client’s site.
  • You have the option to upgrade and become an official Translation Partner. Clients will see your translation service in WPML’s list (both on WPML.org and inside the WordPress admin of client sites)

This documentation is intended for translation services that WPML set up with access to Translation Hub.

If you are a freelance translator or a one-person boutique translation service, please see our documentation about quick self-service integration, as the workflows are different.

On This Page

Getting started with Translation Hub

You need to set up two areas in your Translation Hub for clients to be able to successfully send translation jobs to you:

  1. Add language pairs
  2. Add your clients

Add language pairs

WPML needs to know which languages you are able to translate to know which jobs it can send you. If a client tries to send a job that requires languages you have not set up in Translation Hub, they will not be able to submit it.
To add new language pairs, go to Configuration → Language Pairs, and click the Add Language Pairs button.

Adding language pairs in Translation Hub
Adding language pairs in Translation Hub

Search for the source and target languages you specialize in and click Add Pairs.

Selecting the source and target languages for new language pairs
Selecting the source and target languages for new language pairs

Add clients

Before a client can start sending jobs to you, you need to add them in Translation Hub. This generates an API token that the client will enter in WPML to authorize your service.

When activating your translation service, clients will need to authorize it using an API token you provide.
When activating your translation service, clients will need to authorize it using an API token you provide.

To add a client, go to Clients, and click the Add New Client button.

Adding a new client
Adding a new client

On the following screen, enter their information, ensure their status is “Enabled,” and decide if you want to send a welcome email.

Creating a new client record
Creating a new client record

The welcome email contains their API token and instructions on where to enter it.

An example of a client’s welcome email
An example of a client’s welcome email

This email is auto-generated by Translation Hub. It is not customizable at this time.

You can also get their token by finding their client record in Clients and clicking Tokens.

 Accessing a client’s token
 Accessing a client’s token

Once the client enters their token into WPML, they can begin sending you translation jobs.

Please note that you cannot delete a client once created. Instead, you can edit their record and mark it as “Disabled” under their status.

Managing translations with Translation Hub

Downloading a job

When a client sends you a new translation job, you receive an email notification.

An email notifying you of a new translation job
An email notifying you of a new translation job

You can view the project via the link in the email, or you can go to Projects in your Translation Hub account. A “New!” flag appears next to projects that have been sent since you last logged in.

Viewing the Projects page with a new project waiting
Viewing the Projects page with a new project waiting

Click the project to get more details about it.

Viewing the details of a project
Viewing the details of a project

Click Jobs and then a specific job within the project to view information like the deadline, any notes from the client, and your estimated commission for the project.

Viewing details of a specific job within a project
Viewing details of a specific job within a project

You can download all of the jobs on the Project page, or click Jobs to view and download them individually.

Uploading your translations

Once you finish your translations, upload them by going to Uploads and clicking the Upload Translation button. You can upload a single XLIFF file or a ZIP file containing multiple XLIFFs.

Uploading a translated job
Uploading a translated job

Go back to the Uploads page to see the status of your upload.

Viewing your uploaded translations
Viewing your uploaded translations

Click on Details to see the filename, status, and link to the original job.

Viewing the status of your recent upload
Viewing the status of your recent upload

Clicking the link to the original job will also show you all of the original job details, plus when the translation was uploaded and when a notification was sent to the client.

Viewing details of a completed job
Viewing details of a completed job

As you can see, Translation Hub automatically matches your uploads with the correct job and sends them to WPML.

Canceling a translation job

To cancel a translation job, go to the Projects page. Find the project with the job you would like to cancel and click Jobs.

Find the project with the job you would like to cancel and click Jobs
Find the project with the job you would like to cancel and click Jobs

On the Jobs page, click the Cancel button.

Canceling a job
Canceling a job

The client will now see in WPML that the job was canceled. They can check this by going to the WPML Translation Management page and clicking the Jobs tab.

Client’s view of a canceled job in WPML
Client’s view of a canceled job in WPML

Handling resubmitted jobs

WPML displays a warning to clients if they edit an element of their website that is already being translated.

A warning to a client that a page they are trying to edit has been submitted for translation
A warning to a client that a page they are trying to edit has been submitted for translation

If they continue and resubmit the updated translation job, it’s important for you to know which job you should be translating. WPML only accepts the translation files for the most recent version.

Luckily, Translation Hub can recognize if many versions of the same job have been submitted. It will warn you that an updated version of the job has been submitted by displaying an alert message, graying out the outdated job, and by renaming the outdated XLIFF file.

Remember that WPML is only able to upload the most recent version. Be sure to follow the warnings to save time and effort on translating the wrong files.

Troubleshooting Translation Hub

Error message: language pairs not supported

If a client is unable to send you projects for language pairs you support, it may be because of a missing language pair in your setup.

The warning a client sees if the language pairs their job requires have not been set up in Translation Hub
The warning a client sees if the language pairs their job requires have not been set up in Translation Hub

For instance, say you have language pairs set up for English and Spanish set as en to es in Translation Hub. If your client uses language codes with specific localizations such as American English (en-us) and Mexican Spanish (es-mx), they will not be able to send the translation.

To fix this, add the extra language pairs in Translation Hub and then instruct your client to refresh the language pairs in WPML. They can do this by going to Translation Management → Translation Services, and clicking Refresh language pairs.

Refreshing language pairs in WPML
Refreshing language pairs in WPML

Once language pairs have been updated and the client has refreshed the language pairs in WPML, they will be able to submit the job for translation.

Custom language mapping

Custom language mapping makes it possible for XLIFF files submitted as one language code to be downloaded as another. This is useful if the translation software you use requires different language codes than what the client is using.

For example, some translation software options must have a specific language code variation such as en-us instead of simply en. If the client is using the language code en, this will be an issue every time you download a translation job.

Translation Hub can handle the changes seamlessly via custom language mapping. There is no need to ask your clients to change any language settings and no need to manually change the codes each time you download a file. 
To set up custom language mapping, go to Configuration → Language mappings. Enter the language code your client uses, add a colon, and enter the variation you would like it mapped to. Then click Update mappings to apply the changes.

Adding language mappings
Adding language mappings

In the above example, we would map en:en-us. Any jobs submitted with en would then automatically be downloaded as language code en-us. Translation Hub would also handle the reverse: uploading as language code en-us and delivering the job as en.

You can enter as many mappings as you would like. Each mapping should be entered on its own line.

Keeping WPML and Translation Hub synced

Clients have two options for receiving translations. The default is for the client’s website to automatically update with new translations once they’re received. Clients can also choose to check the status of the translations manually.

If they choose to check the status of translations manually, they may not immediately see that a translation job has been completed. In this case, they should go to WPML Translation Management and click the Check status and get translations button.

How a client can manually check the status of their translations in WPML
How a client can manually check the status of their translations in WPML

Clients can change how their site receives translations by visiting WPML → Settings and scrolling down to Translation pickup mode.

How a client can change their translation pickup settings
How a client can change their translation pickup settings

Client issues

Clients can log into Translation Hub to report issues, ask questions, or provide feedback. You can find these comments on the Issues page. Click the issue to read, reply to, or close it.

Viewing client-submitted feedback
Viewing client-submitted feedback

API Tokens

API tokens are what makes a client able to connect with your service.

Creating a new token

In case a client’s token is ever compromised, you can easily create a new one. Find the client’s record on the Clients page, and click Tokens. You can either remove the compromised token or click on Edit to disable the token. Then click Add New Token to create a new one.

Viewing options regarding a client’s token
Viewing options regarding a client’s token

Disabling a token

It may become necessary at some point to freeze a client’s account (for instance, if a financial matter must be taken care of). To do this, you can disable a client’s API token. Go to Clients and find the client’s record. Then click Tokens and Edit. Change the status to Disabled and update the token.

Editing a client’s token
Editing a client’s token

This prevents the client from being able to create new translation projects until you enable it again.