Back to Community

Why Isn't My Dynamic Content Translating? A Guide to GTranslate and AJAX

48 threads Sep 7, 2025 PluginTranslate wordpress with gtranslate

Content

If you're using the 'Translate WordPress with GTranslate' plugin, you've likely experienced its power to make your site multilingual quickly. However, a common frustration arises when certain parts of a page don't change language. This is especially prevalent with content loaded dynamically by other plugins, such as booking systems, sliders, or tour guides. Let's explore why this happens and what you can do about it.

The Core of the Problem: How GTranslate Works

The free version of the GTranslate plugin operates primarily on the front end of your website. It works by scanning the HTML of a page after it has been fully loaded in the user's browser and then sending that text to Google's translation service. This process is incredibly effective for static content that is present when the page first loads.

The challenge begins with dynamically loaded content. Many modern WordPress plugins and themes use JavaScript (often via AJAX) to load content after the initial page load. Since GTranslate's initial translation process has already finished by this point, this new, dynamically inserted content is not captured and remains in your site's original language.

Common Symptoms and Examples

Based on community reports, this issue frequently occurs with:

  • Booking Plugins (e.g., Amelia Booking): Event details, service names, and availability calendars that load after a user interaction may not translate.
  • Tour and Tutorial Plugins (e.g., Intro Tour Tutorial DeepPresentation): The text for each step in a tutorial might remain in the base language while the navigation buttons translate.
  • WooCommerce Elements: Certain product filters or dynamically updated product information might not be processed.
  • Any content loaded via AJAX calls or within JavaScript-heavy sections.

Potential Solutions and Workarounds

Unfortunately, the 'Translate WordPress with GTranslate' team has stated that the free version does not support translating mixed or dynamically loaded content. However, there are a few approaches you can consider.

1. Investigate the Source Plugin's Settings

Before anything else, check the settings of the plugin that is generating the dynamic content. Some plugins have their own internal localization or multilingual support that might work in tandem with a translation plugin. Ensuring that all your content is originally in a single, consistent language (e.g., English) is the first step recommended by the GTranslate team for reliable translations.

2. Look for a Reinitialization Trigger

This is a technical workaround that may not work in all cases. The theory is that if you can hook into the event that finishes loading the dynamic content, you can manually tell the GTranslate script to run again. This often requires custom JavaScript code. You would need to identify a unique JavaScript event fired by the other plugin and then try to trigger GTranslate's translation function afterwards. Success with this method is not guaranteed and depends heavily on how both plugins are built.

3. Understand the Limitations of the Free Version

It's important to recognize the fundamental limitation here. The free version of GTranslate is designed for translating static content. For advanced functionality—including reliable translation of dynamic, AJAX-driven content, translation correction, RTL language support, and per-language media swapping—the plugin's documentation and support responses indicate that these are features of its paid service.

Conclusion

If dynamically loaded content on your site isn't translating, you are likely hitting a known limitation of the free GTranslate plugin. The most effective path forward is to either adjust the source of the dynamic content, attempt a custom JavaScript reinitialization, or evaluate if the advanced features of the paid service meet your needs. For most users, understanding this distinction between static and dynamic content translation is the key to setting realistic expectations for the plugin's free version.

Related Support Threads Support