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.
- Connecting Your Website to a Translation Service
- Getting Your Content Translated
- Translating the Rest of Your Site
- Setting Up Translation Notifications
- Prioritizing Your Translations
- What If Your Received Translations Are Not Appearing
Connecting WPML to a translation service takes only two easy steps:
- Select a translation service in WPML
- Get an API token from the service and enter it into WPML
If you are installing WPML for the first time, you’ll be able to choose any translation service directly from the setup wizard:
- When you reach Step 4 – How do you want to translate your site? select the option I want to choose what to translate.
- In the section that appears, select A Professional Translation Service and click to choose one.
If you already installed WPML and went through the setup wizard, you can find translation service options on the WPML → Translation Management page, under the Translators tab.
The last thing to do to connect your site to a translation service is to enter the API token.
Each translation service has its own dedicated documentation page with instructions on how to get the API token. Use our translation service directory to find the service of your choice.
Let’s start with steps to translate the content of your site, the actual posts and pages.
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.
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.
You can also get a word count for entire post types by clicking Word count for the entire site next to the estimate.
Use the WPML → Translation Management page to send your first pages to the translation service:
- Select the content you want to translate and click the button to send selected content to the translation basket.
- 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.
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.
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 check 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.
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.
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.
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.
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.
Head to the Translation Basket tab where you can review your items before sending them to the translation service.
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.
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 WPML → Settings, 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.
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.
If you do not see the Translation Notifications tab, set up a Translation Manager to be in charge of your site’s 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.
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.