Back to Community

Troubleshooting TranslatePress: Why Translations Don't Appear on Some Pages

Content

Many users of the 'Translate Multilingual sites – TranslatePress' plugin encounter a common yet frustrating issue: translations work perfectly on the homepage but fail to appear on other pages or posts. This problem can manifest in several ways, such as the translation editor's pencil icon not showing up, translated text reverting to the default language, or language switchers not functioning correctly on internal pages.

Why This Happens

Based on community reports and troubleshooting threads, this problem is rarely due to a single cause. Instead, it's often the result of a conflict between TranslatePress and another element of your WordPress setup. The most common culprits are:

  • Permalink Structure: TranslatePress requires 'pretty' permalinks (%postname%) to function correctly. Older or custom structures can prevent the plugin from generating the necessary language directories for other pages.
  • Plugin or Theme Conflicts: Other plugins, especially those that optimize, minify, or cache JavaScript, can interfere with the scripts TranslatePress needs to load its translation editor and display translations.
  • Output Buffering Conflicts: Certain performance tweaks or server-side compression settings (like enabling zlib output compression in PHP) can break the output buffering that TranslatePress relies on.
  • Caching Issues: Aggressive caching can serve an old, non-translated version of a page to users.
  • Incomplete Configuration: A crucial setting, 'Force language in custom links,' must be enabled to maintain the selected language across different pages.

How to Troubleshoot and Fix the Issue

Follow these steps to identify and resolve the problem. It is highly recommended to perform these tests on a staging site first.

Step 1: Check and Update Your Permalinks

This is the first and most critical step. Navigate to your WordPress dashboard and go to Settings > Permalinks. Ensure that a 'pretty' structure is selected (e.g., 'Post name'). Simply click 'Save Changes' to flush the rewrite rules, even if you don't make any changes. This action alone has resolved the issue for many users.

Step 2: Perform a Conflict Test

A conflict test is the most reliable way to identify the source of the problem.

  1. Briefly deactivate all other plugins except for TranslatePress.
  2. Switch your theme to a default WordPress theme like Twenty Twenty-Four.
  3. Check if the translations now work on your internal pages.
  4. If they do, reactivate your plugins and theme one by one, checking your translations after each activation. This will help you pinpoint the exact plugin or theme causing the conflict.

Step 3: Review Specific Plugin Settings

If you identified a conflict with an optimization or caching plugin, you may not need to deactivate it entirely. Instead, look for settings to exclude specific TranslatePress JavaScript files from minification, combination, or caching. The key files to exclude are:

  • /wp-content/plugins/translatepress-multilingual/assets/js/trp-editor.js
  • /wp-content/plugins/translatepress-multilingual/assets/js/trp-string-translation-editor.js
  • /wp-content/plugins/translatepress-multilingual/assets/js/trp-iframe-preview-script.js

Step 4: Verify a Crucial TranslatePress Setting

Navigate to TranslatePress > Settings > General. Locate the option labeled 'Force language in custom links' and ensure it is enabled. This setting forces links throughout your site to maintain the currently selected language, which is essential for consistent translation across all pages.

Step 5: Clear All Caches

Clear your browser cache, any server-side cache, and your WordPress caching plugins. Sometimes, outdated cached pages are the simple reason new translations are not visible.

Conclusion

The issue of translations not working beyond the homepage is a common challenge, but it is usually solvable through systematic troubleshooting. By methodically checking your permalinks, testing for conflicts, and adjusting plugin settings, you can almost always identify the root cause and restore full functionality to your multilingual site.

Related Support Threads Support