[Resolved] Jetpack plugin translations in WordPress VIP
This thread is resolved. Here is a description of the problem and solution.
Problem: You are trying to translate a website hosted on WordPress VIP using WPML and String Translation plugins, but you cannot see Jetpack's domain in String Translation. Additionally, the '(required)' tag and text configured via Form attributes on the Contact Us page are not translating. Solution: First, navigate to WPML > Theme and plugins localization and select Jetpack, then click on "Scan selected components for strings". If Jetpack is set as a Must Use (MU) plugin, it might not appear for string scanning in the usual way. In this case, please refer to our documentation on handling Must Use plugins at Must Use plugins not available for string scanning.
Since you are using WordPress VIP, which has specific restrictions, also check our Errata for WordPress VIP hosting at WordPress VIP hosting for additional workarounds.
If these steps do not resolve your issue or the documentation seems outdated, we highly recommend opening a new support ticket. Also, ensure you check related known issues at https://wpml.org/known-issues/, verify the version of the permanent fix, and confirm that you have installed the latest versions of themes and plugins. For further assistance, please visit our support forum at WPML support forum.
This is the technical support forum for WPML - the multilingual WordPress plugin.
Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.
Background of the issue:
I am trying to translate a website hosted on WordPress VIP using WPML and String Translation plugins. The Jetpack plugin is included by default in WordPress VIP, and according to WPML documentation, Jetpack translation is supported.
Symptoms:
When I go to String Translation, I do not see Jetpack's domain. The Contact Us page is mostly translated, except for the '(required)' tag and the text configured via Form attributes.
Questions:
Why is Jetpack's domain not appearing in String Translation?
How can I translate the '(required)' tag and text configured via Form attributes on the Contact Us page?
While you are waiting for one of my colleagues to take this ticket and work on it, let me provide you with the first debugging steps or if I can help with the issue quickly.
Please go to WPML > Theme and plugins localization and select Jetpack and click "Scan selected components for strings".
I went to WPML -> Theme and plugins localization. I do not see an entry for Jetpack. In the "Plugins" section I clicked on "All" and I see several "MU" options, including "MU :: jetpack.php". I selected it and clicked on "Scan selected components for strings". After a moment of scanning I got this message.
Scan successful: WPML found 0 strings.
The following files were processed:
This worked in my Local Development Environment (LDE). I was able to see the additional plugins, added them, and find the strings. From there, I translated the strings using String Translation. I was able to test in my local that the translations were being done successfully.
However, in the actual site, after I deployed the changes, the form is still not translated. Tried to purge the cache of the Contact page. Also tried making a change in the page and re-translate it. Do I need to run the "Theme and plugins localization" scan in WP VIP as well?
The LDE is in my local machine. I make code changes there.
I also use String Translation there because WP VIP environments are read-only, which mean String Translation cannot work there. So I make changes in my LDE and I push those changes via the repository to WP VIP.
Right now, there is no Staging environment.
I push code changes to the repo, which gets auto-deployed to WP VIP.
Content changes like adding/updating pages and configuring menus I do directly in WP VIP.
I do not push content changes from my LDE to WP VIP.
Thank you for sharing this information! I wasn’t aware of these restrictions with WP VIP Hosting. It looks like there's an active Errata—please review the following documentation and try the suggested workaround.
1) Define OTGS_INSTALLER_SITE_KEY_WPML with the site key. I haven't needed to do this. I've defined a different site key for each domain (eg local, WP VIP) and so far there hasn't been an issue with this configuration.
2) This one takes me to WP VIP documentation, which I am already following. This one explains the process I explained before: make the changes in the LDE and push them to the repository.
Got this working. You should really add a WP VIP specific section in your documentation or make it much more simple to find. I find WPML to be a great tool, but finding these workarounds took way longer than expected.
All I add to do was run the "Theme and plugins localization" tool in WP Admin in the WP VIP environment to add the translation strings.