Deprecated: Creation of dynamic property wpdb::$categories is deprecated in /www/logichop_469/public/wp-includes/wp-db.php on line 668

Deprecated: Creation of dynamic property wpdb::$post2cat is deprecated in /www/logichop_469/public/wp-includes/wp-db.php on line 668

Deprecated: Creation of dynamic property wpdb::$link2cat is deprecated in /www/logichop_469/public/wp-includes/wp-db.php on line 668

Warning: file_exists(): open_basedir restriction in effect. File(/var/www/efs/wp-content/plugins/memcached-is-your-friend/memcached-class-object-cache.php) is not within the allowed path(s): (/www/logichop_469/public:/www/logichop_469/mysqleditor:/www/logichop_469/web:/www/logichop_469/deploy:/www/logichop_469/deployment:/www/logichop_469/deployments:/www/logichop_469/tmp:/usr/share:/tmp:/dev/urandom) in /www/logichop_469/public/wp-content/object-cache.php on line 50

Deprecated: Return type of WP_Theme::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-includes/class-wp-theme.php on line 554

Deprecated: Return type of WP_Theme::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-includes/class-wp-theme.php on line 595

Deprecated: Return type of WP_Theme::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-includes/class-wp-theme.php on line 535

Deprecated: Return type of WP_Theme::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-includes/class-wp-theme.php on line 544

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /www/logichop_469/public/wp-includes/comment-template.php on line 1745

Deprecated: Return type of WP_REST_Request::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-includes/rest-api/class-wp-rest-request.php on line 960

Deprecated: Return type of WP_REST_Request::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-includes/rest-api/class-wp-rest-request.php on line 980

Deprecated: Return type of WP_REST_Request::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-includes/rest-api/class-wp-rest-request.php on line 992

Deprecated: Return type of WP_REST_Request::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-includes/rest-api/class-wp-rest-request.php on line 1003

Deprecated: Return type of WP_Block_List::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-includes/class-wp-block-list.php on line 151

Deprecated: Return type of WP_Block_List::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-includes/class-wp-block-list.php on line 175

Deprecated: Return type of WP_Block_List::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-includes/class-wp-block-list.php on line 164

Deprecated: Return type of WP_Block_List::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-includes/class-wp-block-list.php on line 186

Deprecated: Return type of WP_Block_List::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-includes/class-wp-block-list.php on line 138

Deprecated: Return type of WP_Block_List::offsetExists($index) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-includes/class-wp-block-list.php on line 75

Deprecated: Return type of WP_Block_List::offsetGet($index) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-includes/class-wp-block-list.php on line 89

Deprecated: Return type of WP_Block_List::offsetSet($index, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-includes/class-wp-block-list.php on line 110

Deprecated: Return type of WP_Block_List::offsetUnset($index) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-includes/class-wp-block-list.php on line 127

Deprecated: Return type of WP_Block_List::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-includes/class-wp-block-list.php on line 199

Deprecated: Return type of Pimple\Container::offsetExists($id) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-content/plugins/wp-tools-gravity-forms-divi-module-premium/vendor/pimple/pimple/src/Pimple/Container.php on line 133

Deprecated: Return type of Pimple\Container::offsetGet($id) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-content/plugins/wp-tools-gravity-forms-divi-module-premium/vendor/pimple/pimple/src/Pimple/Container.php on line 98

Deprecated: Return type of Pimple\Container::offsetSet($id, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-content/plugins/wp-tools-gravity-forms-divi-module-premium/vendor/pimple/pimple/src/Pimple/Container.php on line 79

Deprecated: Return type of Pimple\Container::offsetUnset($id) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-content/plugins/wp-tools-gravity-forms-divi-module-premium/vendor/pimple/pimple/src/Pimple/Container.php on line 143

Deprecated: Return type of Gravity_Forms\Gravity_Forms\External_API\GF_API_Response::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-content/plugins/gravityforms/includes/external-api/class-gf-api-response.php on line 179

Deprecated: version_compare(): Passing null to parameter #1 ($version1) of type string is deprecated in /www/logichop_469/public/wp-content/plugins/gravityforms/includes/addon/class-gf-addon.php on line 5755

Deprecated: Return type of GF_Field::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-content/plugins/gravityforms/includes/fields/class-gf-field.php on line 93

Deprecated: Return type of GF_Field::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-content/plugins/gravityforms/includes/fields/class-gf-field.php on line 99

Deprecated: Return type of GF_Field::offsetSet($offset, $data) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-content/plugins/gravityforms/includes/fields/class-gf-field.php on line 108

Deprecated: Return type of GF_Field::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/logichop_469/public/wp-content/plugins/gravityforms/includes/fields/class-gf-field.php on line 117

Warning: The magic method AffiliateWP_Allow_Own_Referrals::__wakeup() must have public visibility in /www/logichop_469/public/wp-content/plugins/affiliatewp-allow-own-referrals/includes/class-affiliatewp-allow-own-referrals.php on line 131

Deprecated: Creation of dynamic property Cookie_Law_Info_Cli_Policy_Generator::$plugin_name is deprecated in /www/logichop_469/public/wp-content/plugins/cookie-law-info/admin/modules/cli-policy-generator/cli-policy-generator.php on line 176

Deprecated: Use of "self" in callables is deprecated in /www/logichop_469/public/wp-content/plugins/cookie-law-info/includes/class-cookie-law-info.php on line 606

Warning: Private methods cannot be final as they are never overridden by other classes in /www/logichop_469/public/wp-content/plugins/df-gravityforms-divi-plugin-premium/kirki/packages/kirki-framework/compatibility/src/Control.php on line 67

Warning: Private methods cannot be final as they are never overridden by other classes in /www/logichop_469/public/wp-content/plugins/df-gravityforms-divi-plugin-premium/kirki/packages/kirki-framework/compatibility/src/Control.php on line 103

Deprecated: Creation of dynamic property Kirki\Compatibility\Framework::$modules is deprecated in /www/logichop_469/public/wp-content/plugins/df-gravityforms-divi-plugin-premium/kirki/kirki.php on line 68

Deprecated: Optional parameter $text declared before required parameter $cart_item_key is implicitly treated as a required parameter in /www/logichop_469/public/wp-content/plugins/logichop-subscription-conduit/logichop-subscription-conduit.php on line 323

Deprecated: Creation of dynamic property WC_Sendinblue_Integration::$customizations is deprecated in /www/logichop_469/public/wp-content/plugins/woocommerce-sendinblue-newsletter-subscription/woocommerce-sendinblue.php on line 136

Deprecated: Creation of dynamic property WC_Sendinblue_Integration::$ws_subscribe_enable is deprecated in /www/logichop_469/public/wp-content/plugins/woocommerce-sendinblue-newsletter-subscription/woocommerce-sendinblue.php on line 153

Deprecated: Creation of dynamic property WC_Sendinblue_Integration::$ws_smtp_enable is deprecated in /www/logichop_469/public/wp-content/plugins/woocommerce-sendinblue-newsletter-subscription/woocommerce-sendinblue.php on line 154

Deprecated: Creation of dynamic property WC_Sendinblue_Integration::$ws_template_enable is deprecated in /www/logichop_469/public/wp-content/plugins/woocommerce-sendinblue-newsletter-subscription/woocommerce-sendinblue.php on line 156

Deprecated: Creation of dynamic property WC_Sendinblue_Integration::$ws_sms_enable is deprecated in /www/logichop_469/public/wp-content/plugins/woocommerce-sendinblue-newsletter-subscription/woocommerce-sendinblue.php on line 157

Deprecated: Creation of dynamic property WOO_SL_functions::$query_vars is deprecated in /www/logichop_469/public/wp-content/plugins/woocommerce-software-license/include/class.sl.functions.php on line 35

Deprecated: Creation of dynamic property WOO_SL::$licence is deprecated in /www/logichop_469/public/wp-content/plugins/woocommerce-software-license/include/class.sl.php on line 21

Deprecated: Creation of dynamic property WCS_Retry_Admin::$setting_id is deprecated in /www/logichop_469/public/wp-content/plugins/woocommerce-subscriptions/includes/payment-retry/admin/class-wcs-retry-admin.php on line 22

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /www/logichop_469/public/wp-content/plugins/woocommerce/packages/woocommerce-blocks/src/StoreApi/SchemaController.php on line 66

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /www/logichop_469/public/wp-content/plugins/woocommerce/packages/woocommerce-blocks/src/StoreApi/SchemaController.php on line 69

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /www/logichop_469/public/wp-content/plugins/woocommerce/packages/woocommerce-blocks/src/StoreApi/RoutesController.php on line 86

Deprecated: Creation of dynamic property wpdb::$payment_tokenmeta is deprecated in /www/logichop_469/public/wp-includes/wp-db.php on line 668

Deprecated: Creation of dynamic property wpdb::$order_itemmeta is deprecated in /www/logichop_469/public/wp-includes/wp-db.php on line 668

Deprecated: Creation of dynamic property wpdb::$wc_product_meta_lookup is deprecated in /www/logichop_469/public/wp-includes/wp-db.php on line 668

Deprecated: Creation of dynamic property wpdb::$wc_tax_rate_classes is deprecated in /www/logichop_469/public/wp-includes/wp-db.php on line 668

Deprecated: Creation of dynamic property wpdb::$wc_reserved_stock is deprecated in /www/logichop_469/public/wp-includes/wp-db.php on line 668

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /www/logichop_469/public/wp-content/plugins/woocommerce/includes/wc-core-functions.php on line 1705

Deprecated: Creation of dynamic property WooCommerce::$api is deprecated in /www/logichop_469/public/wp-content/plugins/woocommerce/includes/class-woocommerce.php on line 554

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /www/logichop_469/public/wp-content/plugins/woocommerce/src/Internal/DownloadPermissionsAdjuster.php on line 157

Deprecated: Creation of dynamic property Automattic\WooCommerce\Database\Migrations\CustomOrderTable\PostToOrderTableMigrator::$table_names is deprecated in /www/logichop_469/public/wp-content/plugins/woocommerce/src/Database/Migrations/CustomOrderTable/PostToOrderTableMigrator.php on line 25

Deprecated: Creation of dynamic property Automattic\WooCommerce\Database\Migrations\CustomOrderTable\PostToOrderAddressTableMigrator::$table_names is deprecated in /www/logichop_469/public/wp-content/plugins/woocommerce/src/Database/Migrations/CustomOrderTable/PostToOrderAddressTableMigrator.php on line 42

Deprecated: Creation of dynamic property Automattic\WooCommerce\Database\Migrations\CustomOrderTable\PostToOrderOpTableMigrator::$table_names is deprecated in /www/logichop_469/public/wp-content/plugins/woocommerce/src/Database/Migrations/CustomOrderTable/PostToOrderOpTableMigrator.php on line 26

Deprecated: Creation of dynamic property Automattic\WooCommerce\Database\Migrations\CustomOrderTable\PostMetaToOrderMetaMigrator::$table_names is deprecated in /www/logichop_469/public/wp-content/plugins/woocommerce/src/Database/Migrations/CustomOrderTable/PostMetaToOrderMetaMigrator.php on line 43
How to Use a WP Language Translation Plugin to Go Multilingual with Content Personalization - Logic Hop

Logic Hop helps you personalize your WordPress site to make sure the messages you display more closely match each individual person visiting your website.

A WP language translation plugin can take that approach one step further and help you display those personalized messages in visitors’ preferred languages. So now you’re able to not just personalize the message that you display, but also personalize the language that you use for that personalized message.

Beyond adding a whole other level of personalization to your WordPress site, there are also some other big benefits to creating a multilingual WordPress website. And with the right WP language translation plugin, it’s really not that difficult to translate your entire WordPress site.

In this post, you’ll learn more about what the benefits of going multilingual are, as well as how to translate your WordPress site and any personalized content that you’ve created with Logic Hop.

The Two Big Benefits to a WP Language Translation Plugin

Before we get to the tutorial, let’s dig into the two big benefits to using a WP language translation plugin to translate your WordPress site into different languages. Those benefits are…

  • Improved user experience
  • Improved search engine optimization and marketing

1. Create a Better, More Personalized User Experience

The basic premise of Logic Hop is that you can use personalization to improve your website’s user experience and boost your conversion rates.

Well, the same general idea applies to using a WP language translation plugin to offer your WordPress site in different languages.

As you’d expect, most people prefer to visit a website that’s available in their own language. According to a Gallup survey commissioned by the EU, 90% of respondents prefer to visit a website in their native language when available and ~45% just flat out won’t visit a website in a language other than their own. These trends hold true for eCommerce, where that same Gallup survey also found that 42% of respondents never buy products from websites in different languages.

So by combining Logic Hop with a WP language translation plugin, you’re able to offer more relevant content in the language that your visitors want to use.

More importantly, creating personalized language experiences isn’t just for global websites — it’s quite possible to have a multilingual audience even within a small geographic area. For example, in California alone, the US Census Bureau estimates that 44.6% of people age 5+ speak a language other than English when at home, and that number is 21.6% for the USA as a whole.

2. Reach More Visitors in Google With Multilingual SEO

Beyond helping you further personalize your website, a WP language translation plugin can also help you reach more visitors to deliver your personalized content to by helping you implement multilingual SEO.

If you have an SEO strategy in place for your website, you’re probably already targeting keywords in your site’s default language.

But here’s the thing:

There are also tons of people searching for those exact same keywords…just in a different language.

For example, let’s say you have a vacuum cleaner review website. While you might already be reaching people searching for “best vacuum cleaner” in English, you’re missing out on a whole bunch of people searching for the same phrase — “mejor aspiradora” — in Spanish.

To be able to benefit from multilingual SEO, make sure you use one of the WordPress translation plugins that create an indexable, SEO-friendly version of your site for each language. Typically, you’ll want to use either a subfolder or subdomain for each language. For example, yoursite.com/fr/content or fr.yoursite.com/content.

Once you land a new visitor via multilingual SEO, Logic Hop can start working its magic to build a profile and serve that visitor personalized content.

Weglot Helps You Create Personalized Language Experiences With Logic Hop

While there are a lot of WordPress multilingual plugins out there, we’re going to use the Weglot WP language translation plugin for this tutorial because it fully integrates with Logic Hop right out of the box. That is, you won’t have to use any tweaks or workarounds to translate your personalized content.

The Weglot WP language translation plugin also works with 100% of other WordPress themes and plugins right away, so it just generally makes it simple to comprehensively translate your WordPress site.

Weglot helps you quickly get up and running by using machine translation to automatically translate your site right away, but you can always go back and manually refine your translations (which we’ll demonstrate).

How to Translate Your WordPress Website and Logic Hop With Weglot

Now that you know the “why”, let’s dig into how to personalize your website’s content and language using the Weglot WP language translation plugin and Logic Hop.

To demo the full multilingual functionality, we’ll start off by creating some personalized content with Logic Hop in the form of a notification bar. Then, you’ll learn how to translate that personalized content, as well as the rest of your site’s content, using the aforementioned Weglot plugin.

While we’ll be focusing on content from Logic Hop, the translation method that you learn below will work for 100% of your site’s content. So whether you have a WooCommerce eCommerce store, content you’ve built with a page builder WordPress plugin, a simple blog, a site with custom post types, or anything else — you’ll be able to create a multilingual site by following this tutorial.

Here’s your step-by-step WP language translation guide…

1. Create Personalized Content With Logic Hop

To demo how Weglot works with Logic Hop, we’ll create a Logic Bar notification bar that triggers when a UTM parameter is passed in the URL.

If you have Logic Hop installed and activated, you can set this up by heading to Logic Hop > Logic Bars > Add New.

Then, you can add your content and styling and publish your bar when you’re finished:

Translated Logic Bar

You can see that the text is “Weglot and Logic Hop work together perfectly”. In the next steps, you’ll be able to translate this text, along with all of the other content from your WordPress site.

2. Activate and Configure Weglot Plugin

To get started with your translations, you’ll need to register for a Weglot account and install and activate the Weglot WordPress plugin from WordPress.org.

Once you’ve done those two things, go to the new Weglot settings page in your backend WordPress dashboard and:

  • Add your API key to the plugin’s settings. You can find your Weglot API key in your dashboard at the Weglot website.
  • Choose your site’s original language. This is the default language that your content currently exists in. For example, English.
  • Choose your destination language(s). This is the new language (or languages) into which you want to translate your website’s content. For example, French.

3. Configure Your Front-End Language Switcher (Or Set Up Automatic Redirects)

By default, Weglot adds a front-end language switcher to the bottom-right corner of your website that lets visitors choose between all of the available languages:

Front-end language switcher

If you’d like, you can customize the looks and location of this language switcher.

  • First, you can place it in different locations:
  • Dropdown menu item (Appearance > Menus)
  • Widget (Appearance > Widgets)
  • Shortcode (Any text editor on your site)
  • Source code (By adding a
    to the source code of any HTML page)

You’ll also get new settings in the Weglot area of your WordPress admin dashboard that let you control the language switcher’s style. For example, you can turn country flags on or off and choose between using the full language name or just the two-letter country code:

Weglot country flags

In addition to letting visitors manually use the language switcher, Weglot can also help you automatically redirect visitors to their local language based on their browser settings.

This feature works especially well when you pair it with Logic Hop’s ability to serve personalized content based on geolocation. By pairing the two, you can automatically serve content that’s relevant to your visitor’s location and in your visitor’s local language. Talk about personalization, right?

4. Manually Refine Translations (If Needed)

When Weglot initially translates your site, Weglot uses automatic machine translation (kind of like Google Translate).

However, you have the ability to manually refine those automatic translations as needed, without the need to work directly with language files.

To do this, you can use the Weglot cloud dashboard, which gives you two translation management interfaces.

Both interfaces let you manage 100% of your site’s translations and both automatically sync any changes that you make to your live WordPress site. The only difference is in the actual interface that you use to work with translations.

Translations List

First, you can use the backend translations list interface to manage your translations a lot like you would work with a PO file. You’ll see the original language version on the left and the translated version on the right:

Translation editor pop-up

You can use the search and filter options to find specific strings and click and type to edit them. If you’d like, you can also outsource your translations to professional translation services if you’d prefer to have someone else handle your human translations.

If you want to translate Logic Hop content, you’ll want to use this translation list interface most of the time as it makes it easier to find your personalized content.

Visual Editor

Second, you can use the visual editor to manage your translations on a live preview of your website.

To edit your translations, all you do is hover over the string that you want to translate and click the green pencil icon:

That will open a popup where you can edit your translation:

Edit your translation

Get Started With a WP Language Translation Plugin Today

Content personalization is one of the best ways to improve the user experience at your WordPress website and boost your conversion rates.

Logic Hop helps you display different content based on the person who’s viewing it, and then the Weglot WP language translation plugin helps you translate that content into one or more different languages.

By creating a multilingual website, you’re able to:

  • Further enhance your user experience by letting your users choose their preferred languages, which is what ~90% of people prefer according to the Gallup survey.
  • Start reaching new visitors in the first place by harnessing the power of multilingual SEO to rank your content in Google for new keywords in different languages.

Get started with Logic Hop and Weglot today to harness the power of personalization and translation to create a better WordPress website.