Skip Navigation
Updated
October 11, 2021

WPML lets you translate all content, including content coming from custom fields. It includes built-in support for popular plugins like ACF and Toolset and allows you to choose which custom fields to translate when you create them manually.

Custom Fields Coming from Plugins and Themes

When custom fields are coming from plugins or from themes, most of the time, you don’t need to configure anything to translate them. The fields will appear “by themselves” with the pages that you’re translating. This is true for custom fields coming from ACF, Toolset and more other popular themes and plugins.

If you use Translate Everything mode to translate all of your site’s content automatically, it will translate your custom fields for you.

If you don’t use Translate Everything, you can translate your pages and posts as normal. The custom fields appear in the Advanced Translation Editor for you or your site’s translators to translate.

Indicating Which Custom Fields to Translate

If you set up custom fields using your own PHP code, or if you’re using a theme or a plugin that isn’t fully integrated with WPML, you should indicate which custom fields to translate.

To be able to translate custom fields, you need to set them as “translatable” in WPML. To do this, go to WPML → Settings and scroll to the Custom Field Translation section.

Setting custom fields as translatable

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 translate the field values.

If you use a professional translation service to translate your content, you need to resend for translation all pages and posts that use these custom fields in order for them to display as translated.