The Newsletter plugin supports multilanguage blogs managed with WPML and Polylang, also Translatepress is partially supported. There are few things which need to be understood to get the best from Newsletter in a multilanguage environment.
Important: general settings that do not depends on the language can be set in the administrative side when and only when you select “all languages” as current language in the language switcher in the admin top bar.
Hence each administrative panel can show a set of global language-independent set of options and a more specific language-dependent set of options. Options (global or language specific) are then saved, merged, extracted automatically by Newsletter.
The Newsletter dedicated page for multilanguage
It’s a regular WordPress page which is created and configured on Newsletter main settings on first installation and used by Newsletter to display few kind of messages and forms. Examples are the subscription form, the profile editing form, the activation required message and the welcome message.
This page should contains only the
[newsletter] shortcode. Please review it before proceed.
In a multilanguage blog, this page should have as many variants as the number of languages available: Newsletter uses your configured page and asks the multilanguage plugin to return the correct translated version. That behavior may change in the future following our users feedback.
Every page version must contain the
[newsletter] shortcode but the title and other relevant information can be translated.
Segmenting your subscribers
Updated! On lists configuration panel, you can select which lists should be pre-assigned to a subscriber by language. Linking languages to lists lets you to prepare your subscribers base to retargeting by language.
That new option make it simpler to configure the widgets (no more different widgets for different languages required) and even the Newsletter dedicated page can contain only the
[newsletter] shortcode without specify the ending list.
Below the old explanation for link lists to languages.
Probably you want to identify and separate you subscribers by language. In this case you can use the lists, do not rely on the language stored in the subscriber profile. The dedicated page shows the subscription form when loaded. If you create two lists, the first one named English and the second one named Italian you can change the shortcode on both page versions to add the subscribers on different lists.
[newsletter] shortcode in the English page will be
[newsletter lists="1"], while the shortcode on Italian page will be
You’ll add two widget and set them to be shown under different languages separately (with the hep of your multilanguage plugin) and configured to add the subscribers to different lists. Anyway you can even use a single widget if you set the link between a language and a list. See above.
Service messages (welcome, activation, goodbye)
Newsletter displays some messages to your subscribers when they subscribe and reach the welcome page and receive the welcome email. If you activated the double opt-in even more messages are shown.
Translate those messages in other languages is really easy: you should switch to the language you want to work with using the WPML/Polylang administrative language switcher (on the black top bar). Then you can move to the
List building>Subscription configuration panel.
Newsletter will show a “reduced” panel with only the options that can be translated. The full panel options is only available when the administrative side is switched to the main (default) language.
Once you input the translation, Newsletter will use the correct text to follow up the subscription process using the blog language your reader was in at the subscription time.
Subscribers are associated to the language they were on first subscription. That language code is then used every time newsletter needs to show a message to a subscriber.
Form field translations
Form fields can be translated from the
Subscription>Form fields and translations panel. As for any other panel, when you enter that configuration area, you can see the full options when in “all languages” mode, or the reduced the of options (the one translatable) when in a specific language mode.
List are uniquely defined without links to the language. so if a list is pre-assigned or private, that configuration is valid for every language. When you switch the admin side on specific language mode, you can anyway translate the list name.
A newsletter is just a set of contents. Some of them are not translatable, like an image, other should be retrieved from the blog in a language specific context. Hence themes and composer blocks can offer a language option used to generate the correct content. If a theme or a block does not have the language option, it means it’s not able to manage a multilanguage environment or it has not yet updated.
Please note: newsletter content is NOT dynamic. Hence if you’re targeting you Italian subscribers you should compose a newsletter with only Italian content. When you address English subscribers you’ll create an English newsletter. And so on for German, Spanish and every other language you manage.
So it’s important to define lists for every language and follow the setup explained earlier to get the best results.
Translated or localized?
Sometime a blog uses a multilanguage plugin just to translate the content. But many time is not just a translation, is actually a totally different content in different languages (you can correctly observe this case should be managed with a multisite and not with a multilanguage plugin but there are pro and cons on both choices).
In this case, where you’re creating localized content and not purely translated content, the lists used to separate the language 1 from the language 2 are actually used to separate the local content in language 1 and the local content in language 2.
You can offer the option to your subscribers, after the subscription, to select to be part even of the list dedicated to the alternative language than selected upon the first subscription. That can be done in the profile editing panel setting the two lists to be displayed and changeable.