Home » Tutorials

How to translate your website with WPML and ICanLocalize

Thanks to ICanLocalize and WPML integration, translating your WordPress website is easy. Our translators work inside a specialized software that takes care of preserving the page layout and text formatting. They do not access your website so there are no security risks. All you need to do is configure WPML, activate ICanLocalize and choose the translator you prefer.


In order to use ICanLocalize, you need a WPML Multilingual CMS subscription. The Translation Management plugin, available only with the WPML Multilingual CMS version, is required to connect your website to professional translation services.

Once you have purchased WPML Multilingual CMS, login to your account on wpml.org to download the following plugins:

  • WPML Multilingual CMS: core plugin;
  • WPML Translation Management: required to use translation services and the advanced functionalities of WPML;
  • WPML String Translation: allows you to translate texts included in the theme, plugins, widgets and WordPress Admin.

There are also optional suggested plugins: WPML Media to use the same uploaded media in different languages, and Sticky Links to preserve links between translations.

If you need help to download, install and configure the plugins, WPML offers a comprehensive documentation, including an installation guide and a first configuration guide.

Connect your website with ICanLocalize

Once the required plugins are activated and configured, you can proceed to connect WPML to ICanLocalize. You do not need to have an ICL account beforehand, you can create it when you provide your website details. All the following steps are completely free; you can register your website to ICanLocalize, create an account and interact with translators without any fees or charges.

  1. In the WordPress admin area, go to WPML -> Translation Management and select the Translators tab.

    Translators tab

    The Translators tab in WPML Translation Management.

  2. Scroll down to the Available Translation Services section to find ICanLocalize and click the Activate
  3. As soon as you activate ICanLocalize, you will see a message prompting you to add translators. To do so, click the Add Translator » button.Add translator
  4. Select the languages you need:
    1. Choose the source (original) language
    2. Choose the target language, the language you want to translate to
    3. Select the option “ICanLocalize”
    4. Click the Add Translator button

      Select the languages you need translators for.

  5. A pop-up window will appear. Select I need translators and describe your website. You are welcome to use the Volume and deadline field to add any additional information. In the Sample text field you can provide an extract from your website in order to give translators an idea of the contents they will need to work on. If requested, they can also translate your sample text and you can evaluate their translation.Website details
  6. The last section is dedicated to the ICanLocalize account. If you do not have one, just provide your first and last name and an email address. Click the Invite all translators button to complete the registration.ICL account

Interact with translator and choose your favourites

After inviting all translators to your project, you will see a pop-up window with the list of available translators in the language pair you requested. Let us look at the various options.

By default, the window will show you the translators who specified they are specialized in the subject of the website you defined at the registration stage. You are welcome to click the All [Source Language] to [Target Language] Translators to browse all available translators’ profiles. You might find the perfect match for your project even outside the pool of specialized translators.

Translators' list

Translators’ list

If you invited all translators to your project, it means your website is visible and after some time translators will apply on their own and write you. If you want to speed up the process or a profile catches your attention, feel free to click the Invite button (1).

After clicking the Invite button, the private project chat with the invited translator will open. You can access it through the Chat with [Translator’s nickname] link (2). The project chat is fundamental during the translation process: here you can specify your requirements, define deadlines and ask any questions you might have. Do not hesitate to get in touch with our translators; they are all professional linguists who will be able to help with your doubts. Translation is a collaborative effort, get in touch with your translators and provide as much context as you can to ensure the best possible quality.

Project chat

The project chat


Once you find a translator that satisfies your needs, click the Accept application button, which you can find at the top of the project chat and in the translators’ list. Once you accept a translator, you will see a green checkmark in the translator’s list (3).

Tip: If you accepted a translator on ICanLocalize but you don’t see it in your Translators tab, try to click the button Refresh Translators data from ICanLocalize ».

Now your project is completely set up and you are ready to translate your website.

Send contents to translation

In order to select the contents you want to translate, you can return to WPML -> Translation Management -> Translation Dashboard to select pages and posts or go to WPML -> String Translation if you need to translate strings.

WPML provides you a series of filters to help you search the desired contents.

  1. Tick the checkboxes to select the items you want to translate
  2. Scroll down to the Translation options section, then choose the Translate option for the language in which there is an ICanLocalize translator assigned
  3. Click the Add to Translation Basket button

    Select document in the Translation Dashboard list

  4. You will notice a new tab just opened, with a flashing number. Select this new tab, the Translation Basket

    Send the documents to translation from the Translation Basket

  5. In the Translation Basket, you can review the items to send to translation and the languages. You can also change the Batch name if you prefer to give it a more recognizable name, but it is optional
  6. Make sure to select an ICanLocalize translator in the Translate by drop-down menu
  7. Click the button Send all items for translation

Tip: You can add notes with comments and specific requirements per document. Just click on the + sign in the Translation Dashboard list.

Review the contents sent and start the translation

After you sent successfully the contents from WPML, it is time to review them on ICanLocalize. You will find useful links to your ICanLocalize project page at the bottom of the Translation Dashboard in WPML -> Translation Management.

ICL links

Links to ICanLocalize at the bottom of the Translation Dashboard

(1) The project page link brings you to the main project page on ICanLocalize. Here you will see all the contents you sent with their word count and price.

(2) In the ICanLocalize finance page, you can review all your transactions, deposit and withdraw money, download invoices.

(3) The view jobs link will show you a detailed list of all the contents sent and their translation status.

(4) In the support center page, you can find how to contact us. If you need any information, just open a support ticket and we will help you.

(5) Keep note of the button Get completed translations. If the translations are completed on ICanLocalize but you do not see them on your website, pressing this button will download them.


Translations return ready to be published on your website

After the translators complete the work, you will receive the translated contents directly on your website. You don’t need to worry about layout or formatting, our software and WPML take care of everything. You just need to choose if you want to download the translations automatically or manually.

If you prefer to have the translations download automatically, please go to WPML -> Translation Management -> Multilingual Content Setup, then in the Translation Pickup Mode section make sure that the option Translation Service will deliver translations automatically using XML-RPC is selected.

Regardless of the option selected, you can always click the Get completed translations button to download manually the translations.

You can also decide if you want to have the translated documents directly published or downloaded as drafts, so you can review and publish them when ready. You can find this option in WPML -> Translation Management -> Multilingual Content setup in the section Translated documents options.Read the rest of this tutorial »

How to translate Help & Manual projects

This tutorial shows how to use Translation Assistant to translate Help & Manual projects. When we’re done, we’ll have several Help & Manual projects, each one in a different language.

This video, shows all these steps in action on Help and Manual and Translation Assistant.

Creating the translation project

1) Create an account and download Translation Assistant

Translation Assistant is available to download for all users. To create an account, go to the new account page.

Once you’re logged in to your account, click on the Download Translation Assistant button, located at the top of every page. Then, install Translation Assistant on your PC.


2) Log in through Translation Assistant to your account

When Translation Assistant starts it will ask you to log in. Use the same email and password you use to log in to icanlocalize.com.

3) Create a new Help & Manual translation project from Translation Assistant.


First, you’ll be asked to name the project.

Then, Translation Assistant will ask you to select the Help & Manual project file (.hmxp). This fill will be in the root folder of your Help & Manual project.

Note: if your Help and Manual project is saved with an extension .hmxz, you first need to convert it to an uncompressed project. Open the project in Help and Manual, click File->Save as… and choose uncompressed (hmxp).


Next, you’ll select the language you’re translating from.

The last step of the project setup wizard lets you choose what pages on the Help & Manual project need to be translated. Normally, you should leave all pages selected.

Click on Finish to complete the setup wizard.

Choose translators and pay for the work

4) Upload the project to ICanLocalize and complete the project setup

Click on the Upload button in the project control panel.


Translation Assistant will upload the project to your ICanLocalize account. Then, you need to complete its settings.

These include:

  • Description for the project (so that translators will know what the help manual is for).
  • Translation languages.
  • Required fields of expertise.
  • Bidding restrictions.


At the end of that page, you’ll find a button to release to translators. Once a project is released, you’ll start getting applications from qualified translators.

Choose the translators you prefer and deposit the payment for the work.

Then, translation begins.

Creating the translated Help & Manual projects

When translation is complete, you will receive a notification from our system.

Translation Assistant will download the completed project. Click on Output Help & Manual to create the translated help project.


You will receive an identical project to your original, only with translated contents.

Updating the translations when the help project changes

Over time, your help project is likely to update. Translation Assistant can detect what’s new and help you update the translations.

Click on New revision to scan for changes in your help project.


Translation Assistant will identify new and updated texts in the help project and will mark only those for translation.

Repeat the same process as before for uploading and releasing the project for translation.

Getting started

To translate your Help & Manual project using Translation Assistant you’ll need to have an account at ICanLocalize. You only need to pay when you choose translators and the work begins.

Read the rest of this tutorial »

Building translated Help and Manual projects

Once translation for your Help & Manual project is complete, Translation Assistant can generate the translated help project.

To do this, open Translation Assistant and click on Output H&M.

Note: Translation Assistant needs to read the original H&M project in order to build the translation.

Translation Assistant will take the project structure from the original help project and the translations and create a new Help and Manual project for each language. Each translated project will go to a different directory.

Then, open each translated help project with Help and Manual and generate the help file.

This clip shows the entire process:

Read the rest of this tutorial »

Updating the translation when the help project updates

Translation Assistant makes it easy to keep documentation up-do-date in all languages.

When the help project updates, Translation Assistant will find exactly what’s changed and have it translated.  This includes changes to existing help topics and new help topic.

In both cases, Translation Assistant finds the sentences that need update and send them to your translator. When translation is complete, it will rebuild the translated Help and Manual project in all languages, ready to be published.

Steps to follow

  1. Open Translation Assistant and select the help project.
  2. Click on the New revision button.
  3. Select the Help and Manual project (can be the original, edited, Help and Manual project).
  4. Translation Assistant scans it and looks for changes. Complete the project and upload.

You should see that the word count for translation reflects the new and modified texts. The translator will only need to edit those texts and you only pay for the update work.

This clip shows it all in action:

Read the rest of this tutorial »

iOS Localization Guide for Multilingual iPhone and iPad Apps

This guide will show you how to convert a single-language iOS application, built with Xcode, into a multilingual application.

Read the rest of this tutorial »

Android Localization Tutorial

In this tutorial we show how to write multilingual Android apps.

To build multilingual Android apps you need to collect the texts into resource files and translate them.

Once you provide the translation, Android OS will choose the resources that match user’s locale. If your application is available in several languages, Android will select the language that the device uses.

Read the rest of this tutorial »

How to Translate plist Files

plist (Property List) is a flexible and convenient format for storing application data. It was originally defined by Apple, for use in iPhone devices and later spread to other applications.

Since plists are actually XML files, you can use a simple text editor to translate them. However, doing so is very tricky as even one character in the wrong place will make the file unusable.

Instead, ICanLocalize allows translating plist files as part of a Software Localization project. A parser will go through the plist file. It will extract all the texts that need translation and make them available to the translators. Translators will translate only the texts, without worrying about the file format.

When translation is complete, the new plist file is created. It has the exact same structure as the original file and only the right fields translated.

Read the rest of this tutorial »

How to Translate With GetText PO and POT Files

GetText Portable Object (PO) files are the industry standard for multilingual websites in PHP.

Read the rest of this tutorial »

"Enable/Disable BOM" option for software localization projects

The byte order mark (BOM) is a Unicode character, U+FEFF byte order mark (BOM), that appears at the beginning of a text stream (file) and signals the text encoding.

You can find the “Enable/Disable BOM” option at the bottom of each software project in the Project Administration panel.

The use of BOM is optional; if used, it should appear at the start of the text stream.

If BOM is enabled for a software translation project, that means that a BOM is added to all generated files based on the encoding of the file. The table below shows what byte sequence will be added for each file encoding.

Representations of byte order marks by encoding

This table illustrates how BOMs are represented as byte sequences and how they appear in a text editor that is interpreting each byte as representing a legacy encoding:

Encoding Representation (hexadecimal) Representation (decimal) Bytes as CP1252 characters
UTF-8[t 1] EF BB BF 239 187 191 
UTF-16 (BE) FE FF 254 255 þÿ
UTF-16 (LE) FF FE 255 254 ÿþ

Read the rest of this tutorial »

ICanLocalize - Running a Multilingual Software Business

Localizing software is a great way for rapidly multiplying your income. We’ll go over the different activities required to localize software and explain how they can be done with ICanLocalize.

Read the rest of this tutorial »

Simple Translation Management for Mobile Apps

Managing translations for mobile applications is a big challenge for developers. ICanLocalize invites you to use our software localization system for free and make this process easy and simple. If you decide to use a reviewer from ICanLocalize, it will cost 0.045 USD/word.

Does this scenario sound familiar?

  1. You have users from all over the world, eager to help with translation.
  2. You don’t have time to coordinate and organize translation work.
  3. It’s impossible to tell which translators are actually good.

If that’s the case, you’re going to love our software localization system!

Read the rest of this tutorial »

Translation of Popular iPhone and Android App Keywords

Not sure how to translate basic terminology in iPhone or Android Apps? Before you invent the wheel, find the phrase here and see how ICanLocalize recommends to translate it.

Read the rest of this tutorial »