Skip Navigation

How to Prepare the Site to Run Multilingual in WordPress

Before starting to translate your Toolset-powered site, there are some initial steps that you need to take care of first.

On this page:

Installing the necessary plugins

To translate sites built with Toolset, you need the Multilingual CMS version of the WPML plugin. It includes the main plugin and two additional ones that you need: WPML Translation Management and WPML String Translation. Additionally, we recommend installing the WPML Media Translation add-ons which helps you send images and other media for translation using WPML’s Translation Management. You can download all these plugins from your WPML Account’s download page.

After installing WPML, you will have to go through a short and simple set up process, which includes options for selecting the languages you need, the placement of the language switcher, and others. To learn more about this process, please visit the WPML language setup guide.

Setting up Translation Management

After configuring WPML, go to the WPML → Translation Management page and follow the short wizard. The wizard helps you set up the translation workflow you prefer to use on the site. You can choose to translate yourself, send content to be translated by your local translators or have a translation service do the translation.

Finally, go to the WPML → Settings page and in the How to translate posts and pages section find the New content subsection. There, select if you want to use the Advanced or Classic Translation Editor.

We suggest using the Advanced Translation Editor because of its advanced features and interface. It provides you with visual translation without editing HTML, automatic translation, glossary, spell checker, and more.

Making your custom types translatable

To be able to translate your Toolset site, you need to make all the relevant custom types translatable. This includes:

  • Custom post types
  • Custom fields
  • Custom taxonomies

Making custom post types translatable

Go to the WPML → Settings page and scroll to the Post Types Translation section. Select all the custom post types you created and want to translate. Click the Save button at the bottom of the table.

Setting the custom post types to be translatable

There are two options for making post types translatable. One displays only translated custom posts. The other one uses a fallback if there is no translation. In other words, it checks if there are translations and if there are none, displays custom posts in the default language.

Making custom fields translatable

On the WPML → Settings page scroll to the Custom Fields Translation section. There, select the translation options you want to use for your custom fields.

There are four options to choose from:

  • Don’t translate – the field is not available for translation.
  • Copy – the value of the field is copied from the original language and kept in synchronization with it.
  • Copy once – the value of the field is copied from the original language but it can be changed later. After the first copy, it will not be kept in synchronization with the original language.
  • Translate  – allows you to manually translate the field values.

Most often, you will want to use the same custom field values across all languages which means selecting the Copy (and sometimes Copy once) option.

Custom fields you created with Toolset have the wpcf- prefix. For example, if you had a custom Image field called “Trainer Photo”, it would be listed here as “wpcf-trainer-photo”.

You can make your custom fields translatable or select their values to be copied over to translations.

Setting the custom fields to be translatable

Translating custom fields with static options

There are four types of custom fields that feature static options:

  • Checkbox
  • Checkboxes
  • Select
  • Radio fields

For example, a typical Radio field has at least two options users can select. You set the values (texts) of these options when setting up the Radio field.

To translate the options for these field types, go to the WPML → String Translation page. Use the filter at the top of the page to find the texts. They will appear under the “plugin Types” domain.

Translating field options manually

Sending field options for translation to translators

Click the translation link for the string you want to edit. Translate the string, select that the translation is complete and save.

Select the strings you want to send for translation. Below the list, select the languages you want to translate the texts into and click to add them to the translation basket. Go to the Translation Basket and send the strings for translation.

Translating taxonomies

On the WPML → Settings page scroll to the Taxonomies Translation section. There, select the translation options you want to use for your custom taxonomies.

Setting the taxonomies to be translatable

Just like with post types, you have two options for making taxonomies translatable. One displays only translated taxonomies while the other displays taxonomies in the default language if they are not translated.

To translate taxonomies, go to the WPML Taxonomy translation page and select the taxonomy you want to translate.

First section allows you to translate taxonomy terms. Under this section, there’s another one for translating taxonomy labels and slug.

Translating slugs of custom post types

WPML allows you to translate the whole URL structure, including the slugs of your custom post types.

For example, a real estate site might feature a custom post type called “Houses”. The slug of a post type is its singular name or “house” in this example. This means that the URL structure for this post type will be the following:

  • www.example.com/house/

In the Spanish version of our site, we can translate this so that the URL structure for this post type viewed in Spanish will be:

  • www.example.com/es/casa/

After making your custom post type translatable (see previous section), you can translate its slug. To do this, follow the instructions provided on the WPML page about translating page slugs.

Translating custom post type slugs with WPML