How to Translate the Login Page with WPML
Though MemberPress doesn't support multilingual sites out of the box, and doesn't provide an official integration with WPML, this doesn’t mean you can’t have a multilingual site.
The best way to translate the MemberPress pages is to manually create custom pages and add MemberPress elements using shortcodes. Next, you should translate these pages, and finally, translate the MemberPress strings.
Further down, we will show you how to do this for the Login Page as an example.
Creating and Translating Custom Pages
In our example, we will show you how to create your custom login page in English, and translate it to one more language. Naturally, you can apply the same process for adding additional languages you might need.
To create a custom login page in multiple languages, please follow these steps:
1. Create a new page in WordPress in your primary language;
2. Next, add the MemberPress login form to that page using the [mepr-login-form use_redirect="true"] shortcode;
3. Design the page any way you want (for example using a page builder).
Next, create a translation of this page for all other languages and translate all content in a regular way:
1. Add a version of your custom login page for your desired language. To do this, navigate to Dashboard > Pages > All Pages, and find your page. On the right side, you will see a column for each available language on your site. To create a version of this page in the desired language, just click on the “+” icon in the designated column;
2. This will open a WPML translation editor, where you can translate all your content;
3. Once you translated all your page content (the bottom bar will show 100%) you can click the “Complete” button, at the bottom right corner to finish translations.
This will result in having a login page in two languages (you can do the same steps for other languages if needed).
The main remaining issue will be that your login form will be in your primary language as there will be no option for you to translate the MemberPress form in the translation editor.
To solve this, you need to translate individual MemberPress Plugin strings using WPML.
Translate MemberPress Strings
Now that your custom login page is translated, and your login form is visible in all languages, you can start translating strings in order for your login form to start showing translations properly.
To translate strings, follow these steps:
1. Navigate to WPML > String Translation, and search for example for "Username or E-mail" to find the label used for the username/e-mail field;
2. You can also narrow your search by selecting the "memberpress" group as shown in the screenshot;
3. Once you find the string you want, click the “+” icon to add the translation same as you did to translate the page;
4. Now add the string translation to the appropriate field;
5. Repeat steps 2 to 4 for all strings.
Once you translate all strings in the form, the form should be properly displayed on the translated login page.
I Can’t Find Memberpress Strings To Translate
If it happens that you can’t find the plugin string you’re looking for, this might mean that the string was not recognized automatically by WPML.
You can manually search for all available plugin strings with WPML:
1. Navigate to WPML > Theme and plugins localization;
2. Here, find the MemberPress in the plugin list and click the "Scan selected plugins for string" button at the bottom of the list;
3. WPML will now check the plugin for strings. As a result, you should now see the list of all available strings WPML could find.
Next, if you navigate back to WPML > String Translation now, and search follow the steps for translating strings.
Translate Other MemberPress
Now that you have translated your login page, you can translate other MemberPress pages (membership registration pages, the Account page, etc.) in a similar way.
We are constantly trying to improve on MemberPress’ multilingual compatibility. So, if you find a page that you need to translate that does not have a MemberPress shortcode, or you find strings that cannot be translated, please [contact support].