WordPress comes with a powerful taxonomy system, including post categories and tags as well as user-defined taxonomies, for example for portfolio categories or product attributes in ecommerce-sites.
WPML makes it easy to translate these taxonomies. We consider only the case of product categories, but any taxonomy registered with WordPress has a similar interface. You can translate taxonomy individually, from the taxonomy edit screens, or centrally.
Before we start translating a custom taxonomy, we need to enable this. To do this, go to the WPML -> Translation Management page and click the Multilingual Content Setup tab. There, scroll to the Taxonomies Translation section and set your custom taxonomy to Translate. Note that you can set the Translate option to show only translated items on the front-end or to use translation if available and fallback to the default language.
Go to the Posts -> Categories page to define a few categories. The Add New Category panel to the left of this page has a frozen dropdown at the bottom to show the language of the new category, looking like this, depending on whether you try to add the new category in your site’s default language or in a different active language:
To change the language of new categories, you select the one you want in the admin bar:
The right panel shows the categories you have defined for a selected language:
Click on the category name you want to translate, say “Design”. This will take you to the “Edit Category” page for “Design”. At the bottom of the page you will see:
Click on add for one of the languages. This will take you back to the Categories page, with its Add new category panel to the left. We show the top and bottom parts of this panel:
If you now go to the edit category page for “Design”, you see that the bottom box has changed:
Whereas if you edit one of the translated categories, its bottom box looks like this:
You can see the correct selected value in the This is a translation of dropdown. The dropdown, in fact, allows you to choose the value from any of the untranslated categories in your site’s default language, so you can add as many categories as you want in any language and then select later what they are translations of.
WPML provides a central interface, which lets you quickly translate all categories, tags and custom taxonomy in your site.
Go to the WPML -> Taxonomy Translation page. At the top of the page, you will find a drop-down menu, which lets you select what taxonomy to translate.
Once selected, you can translate the taxonomy terms and the labels for the taxonomy. The terms are the actual tags and categories in your site. The labels are how the taxonomy names are displayed on the site.
After you translate a taxonomy, you can apply the newly translated terms to existing content. This will automatically synchronize between the content in the default language and all translated content. The translated content will be associated with the corresponding translated taxonomy, similarly to that of the default-language content.
WordPress 4.4 introduced the term metadata which allows you to save meta values for terms in a similar way to post metadata. In other words, taxonomy terms can feature custom fields which can also be easily translated while translating the terms.
Currently, WPML does not support the translation of term meta and only the Copy translation option works at the moment. To set this options, go to the WPML -> Translation Management page and click the Multilinugal Content Setup tab. There, scroll to the Custom Term Meta Translation section and select Copy for your term meta. Please note that we will add support for translating term metadata in one of the future versions of WPML.
As a site grows there may be times when there is a need for the taxonomy hierarchy to change to accommodate the new content. Site admins usually make hierarchy changes to the taxonomy tree in one language and want the other languages to adjust automatically.
On the Taxonomy Translation page, click the Synchronize Hierarchy tab.
The tab displays taxonomy terms for synchronization when there is something to synchronize. Otherwise, it will display a message informing you that the “The taxonomy hierarchy is already synchronized”.