Help Center

How to Make Filters Multilingual Using WPML

From this tutorial, you will learn how to get your WordPress website translation-ready and find out which WPML modules are needed to translate the site content added with JetSmartFilters widgets.

Before you start, check the tutorial requirements:

JetSmartFilters is a plugin embracing various filter types for Elementor, Bricks, and Gutenberg. Using its functionalities, you can create hierarchical filtering tools powered by AJAX and apply them to any WordPress theme, page, and post type. 

JetSmartFilters is compatible with WPML, which means you can translate filter labels, options, and related content into any required language. Let’s start by making the website WPML-ready, then translate the smart filters.

Follow these basic steps to get started:

  1. Install and activate the core components WPML Multilingual CMS and WPML String Translation.
  2. Go to WordPress Dashboard > WPML > Setup to start a quick setup wizard, where you also register WPML.
  3. Navigate to WordPress Dashboard > WPML > Translation Dashboard and select the content you want to translate.
  4. Choose your preferred translation method: manual or automatic.
Things to know

For a detailed walkthrough of the setup wizard, check out a WPML installation guide.

JetSmartFilters is a Crocoblock plugin that functions equally on the backend and frontend. To create fully translated filters, you should dedicate some time to translating taxonomies, category slugs, custom fields, and strings. Otherwise, the translated smart filters won’t work on the second-language page. Let’s dive into the foremost preparations.

Basic Preparations

As mentioned previously, you’ll have to purchase the Multilingual CMS plan. During the setup wizard, WPML will ensure you have all the necessary components installed.

Make the posts translatable

Proceed to WordPress Dashboard > WPML > Settings

In the Multilingual Content Setup tab, go down to the Post Types Translation section. Next, look through it and locate the Smart Filters post type.  

There are three options available for selection:

smart filters set to translatable
  • Translatable – only show translated items — select this radio button if you are willing to display only those items you translated in the front;
  • Translatable – use translation if available or fallback to default language — when this option is selected, the items’ translations will be shown where provided. The items with no translation will be output in the default language; 
  • Not translatable — select this option to leave the post types “as is.” 

Make the Smart Filters post type translatable and then hit “Save.”

Make the custom fields translatable

In the WordPress Dashboard > WPML > Settings, find the Custom Fields Translation section. 

Afterward, click on the “Show system fields” link next to the Custom Fields Translation section name. 

Now, we need to review all the fields to identify those related to JetSmartFilters: “_filter_label” and “_filter_type.”

Here, you can pick from four available options:

filter label and filter type custom fields set to translatable
  • Don’t translate — the values of custom fields will be shown in the default language on secondary-language pages;
  • Copy — select this option to always copy the default-language custom field values to the secondary-language site version, even in cases when the initial custom field has been altered in the default language;
  • Copy once — selecting this copies the custom field value to the secondary language at the initial translation stage. Furthermore, if you wish to set a different value here, such a new value won’t be overwritten by the previous one;
  • Translate — select this option to make the custom field values translatable.

As to the “_filter_type” field, you can choose to copy it or translate. Please ensure you set the “_filter_label” field to “Translate”; this will help WPML modules identify the filter labels that need translation. 

We also search for the “genres” custom field and set it to “Translate,” as we will use it as the filter source.

genres set to translate

Don’t forget to hit the “Save” button below the section.

Make the taxonomies translatable

When it comes to filtering methods and archive search, WordPress will always use taxonomies. For this purpose, you need to translate all taxonomy-related items, including tags and terms.

Scroll down the page to the Taxonomies Translation section. Find the taxonomies involved in the JetSmartFilters’ operation and make them translatable. In our case, we set the “Book Term” category to “Translatable (only show translated items)”.

As usual, hit the “Save” button before leaving the page.

book term taxonomy set to translatable
Warning

Ensure that the option in the Slug translations section is enabled. If not, activate it. This will help you sync the translated taxonomy terms between site languages. If you don't do it, the content in secondary languages will lack both correct tags and categories. Ensure you have saved it by clicking the corresponding button.

slug translation turned on

Now that you have completed the basic preparations, proceed to translate the JetSmartFilters’ taxonomies and category tags (if applicable).

Translate taxonomy terms and slugs

WPML automatically translates taxonomies (categories and tags) when you translate content they’re attached to. To translate a taxonomy separately, or before you add it to other content, go to WordPress Dashboard > WPML > Taxonomy Translation. In the Select the taxonomy to translate dropdown, pick the taxonomy to translate. In our case, the needed taxonomy is called “Book Term.”

Once the dedicated page opens, you can start adding the translations to each taxonomy term. Keep in mind that there’s a possibility of copying the taxonomy term values of the initial site language to secondary languages. If you hover over the taxonomy term, you will see the “Copy to all languages” link. 

translation edit icons on the taxonomy translation page
Things to know

To add a taxonomy translation by hand, please read the Taxonomies Translation guide.

Press the pencil-shaped or the plus-shaped icon next to the term name if you wish to edit the existing taxonomy translations. 

Submit new translations and hit “Save.”

adding a taxonomy term translation

Repeat the same process for every term in every language, and don’t forget to translate taxonomy labels and slugs.

Translating the Smart Filters Content

JetSmartFilters offers various filter types, which can be translated using the WPML translation editor. Backed by the translated taxonomy, the smart filters should now be correctly picked up by the WPML modules and remain operational on the secondary-language page. Follow the steps below to complete the first filter translation.

Find the necessary filters

Go to WordPress Dashboard > Smart Filters > All Filters and press the “Edit” button next to the needed filter. 

In the Language window, click the plus-shaped button next to the needed language.

edit english filter page

Add the translation

The same filter builder will open, but this time you should translate the filter content into the target language.

Enter the translations into the Filter Name field.

If you have the “Manual Input” Data Source, translate the Labels of the filter options in the Options List section. 

Leave the other fields unchanged.

edit ukrainian filter page

Complete the Filter Labels and click the “Update” button.

the second part of the edit Ukrainian filter page

Add the translation to all filters in the same way and save the progress.

Add the filter to a page

Now, it’s time to add the filter to a page, if you haven’t done so before. So, we go to WordPress Dashboard > Pages > Add New and open the Elementor page builder (or, if preferred, the Block Editor or Bricks).

First, we will add the WPML Language Switcher to the page. Adjust settings as preferred.

wpml language switcher widget in elementor

Next, add the corresponding filter to the page. As we built the “Checkboxes list” filter, we added the Checkboxes Filter to the page.

Pick the filter in the Select filter dropdown and set the needed filter source in the This filter for dropdown. In our case, we select the “JetEngine” option.

checkboxes filter widget in elementor

Next, we will add the provider itself, the Listing Grid widget by JetEngine. We built it beforehand to display the list of books and translated their content. Find out more about the translation of the JetEngine’s Listings and Components.

listing grid widget in elementor

Press the “Publish” button to save the page when ready.

To translate any page, go to WordPress Dashboard > WPML > Translation Dashboard:

  1. Expand the Pages section and find the page you’ve added the filter to.
  2. Select the Page and click “Translate your content.”
pages tab in the wpml translation dashboard directory

At Step 2, choose your preferred translation method. WPML recommends their AI translation engine, Private Translation Cloud (PTC), for the most accurate results.

translate your content step in the wpml translation dashboard directory

Translate strings

On the Translation Dashboard, expand the section Other texts (Strings). WPML automatically picks up strings when you view content on the front end of your site and displays them in this table.

other texts tab in the wpml translation dashboard directory

You can apply a variety of domain filters (e.g., “jet-smart-filters”) or type a string directly in the search field. Select as many strings as you want and send them to manual or automatic translation at Step 2, just like any other content.

Repeat the same procedure for as many strings as necessary. Also, pay attention to the “Jet Engine Admin Labels” domain if you have used JetEngine filtering source. Translate its labels.

Check the front-end result

Now, let’s proceed to the page on the front end. 

When opened, press the target language in the language switcher. The translated content will now be displayed.

checkbox filter with the listing grid on the front end

Select the required option(s) in the filter to verify that the filtering works properly.

translated page with filter

Known Issues

If translated filters, filter options, or filtered content appear in the default language on secondary-language pages, even though all translations and WPML are configured correctly, the issue can be related to WPML language cookies or caching.

JetSmartFilters relies on WPML language detection during AJAX requests. If the current language context is not passed correctly, filter results, taxonomy terms, or filter options may be displayed in the default language instead of the selected one.

To fix this, first go to the affected page and open its DevTools. There, navigate to Application > Cookies and check whether the “wp-wpml_current_language” cookie exists and contains the currently selected language code.

If filtering works correctly in an “Incognito” mode but not in a regular browser session, the issue is likely related to the cache. In this case, review your caching setup and ensure that WPML language cookies are preserved and available during AJAX requests.

That’s all. Now you know how to translate JetSmartFilters content on your WordPress website into any language you prefer with the help of WPML.

Was this article helpful?
YesNo

Need help?

Ask Facebook community

Get answers from 30K+ Crocoblock Community experts from all over the world.

Start a live chat

Ask question to support agent and share its details via chat messages.