Description
Von Oliver Deppe von 2FOX4.
2FOX4 Translate to English translates your German WordPress website into English using professional translation APIs. It automatically detects the visitor’s browser language and serves translated content under SEO-friendly /en/ URLs.
Translations are stored as native WordPress posts and pages, ensuring full compatibility with SEO plugins like Yoast SEO and RankMath, XML sitemaps, Open Graph tags, and social sharing.
Key Features:
- Native WordPress Storage — Translations are real WordPress posts/pages, fully compatible with SEO plugins, sitemaps, and the WordPress ecosystem.
- Automatic Language Detection — Detects the browser language via the
Accept-Languageheader and redirects non-German visitors to the English version. - Three Translation Providers — Choose between DeepL, OpenAI (GPT-4o), or Google Cloud Translation. Switch providers at any time.
- SEO-Friendly URLs — Translated pages live under
/en/(e.g.,/en/about-us/) with properhreflangtags and canonical URLs. - Admin Translation Editor — Side-by-side view with the German original (read-only) and the English translation (editable). Review and refine machine translations before publishing.
- Translation Workflow — Four-step status system: Draft, Machine Translated, Reviewed, Published.
- Language Switcher — Use the
[translatetoenglish_switcher]shortcode to display a DE/EN toggle with flag icons anywhere on your site. - Staleness Detection — Automatically detects when the German source content has changed and marks the translation as outdated.
- Hidden in Admin — English translations are hidden from the normal Posts/Pages lists to keep your admin clean. Manage all translations via the dedicated 2FOX4 Translate to English menu.
- Extensible Architecture — Hooks and filters allow developers to add custom providers, modify translations, and control behavior.
Supported Content:
- Posts
- Pages
How It Works:
- Install and activate the plugin.
- Go to 2FOX4 Translate to English > Settings and enter your API key for your preferred provider.
- Open any post or page and click “Translate Now” in the TranslateToEnglish metabox.
- Review the translation in the side-by-side editor and publish it.
- Visitors with a non-German browser language are automatically redirected to the
/en/version.
External Services
This plugin connects to third-party translation services to provide its core functionality. No data is sent to any service until you configure an API key and actively trigger a translation. The plugin sends your page titles, content, and excerpts to the selected provider for translation.
DeepL API
When DeepL is selected as the translation provider, your page content is sent to DeepL’s translation servers for processing.
- Service: https://www.deepl.com
- Terms of Use: https://www.deepl.com/en/pro-license
- Privacy Policy: https://www.deepl.com/en/privacy
OpenAI API
When OpenAI is selected as the translation provider, your page content is sent to OpenAI’s Chat Completions API.
- Service: https://openai.com
- Terms of Use: https://openai.com/policies/terms-of-use
- Privacy Policy: https://openai.com/policies/privacy-policy
Google Cloud Translation API
When Google Translate is selected as the translation provider, your page content is sent to Google’s Cloud Translation servers.
- Service: https://cloud.google.com/translate
- Terms of Service: https://cloud.google.com/terms
- Privacy Policy: https://policies.google.com/privacy
PayPal (Donate Link)
The plugin readme contains a donate link to PayPal (paypal.com/paypalme). Clicking this link opens the PayPal website in the user’s browser. No data is sent to PayPal by the plugin itself.
- Service: https://www.paypal.com
- Terms of Service: https://www.paypal.com/de/webapps/mpp/ua/useragreement-full
- Privacy Policy: https://www.paypal.com/de/webapps/mpp/ua/privacy-full
Installation
- Upload the
translatetoenglishfolder to/wp-content/plugins/or install via the WordPress plugin installer. - Activate the plugin through the “Plugins” menu in WordPress.
- Navigate to 2FOX4 Translate to English > Settings in your admin dashboard.
- Select your preferred translation provider (DeepL, OpenAI, or Google Translate).
- Enter the API key for your selected provider.
- Click “Test Connection” to verify your key is valid.
- Open any post or page and use the TranslateToEnglish metabox to translate it.
Obtaining API Keys
- DeepL: Sign up at deepl.com/pro (free tier available).
- OpenAI: Create an API key at platform.openai.com/api-keys.
- Google Cloud Translation: Enable the Cloud Translation API in your Google Cloud Console and create an API key.
FAQ
-
Does the plugin work with any WordPress theme?
-
Yes. TranslateToEnglish stores translations as native WordPress posts and pages, so it is compatible with any properly coded theme.
-
Is 2FOX4 Translate to English compatible with Yoast SEO and RankMath?
-
Yes. Since translations are stored as real WordPress posts, SEO plugins can add meta descriptions, Open Graph tags, and structured data to your translated pages automatically.
-
Will the translated pages be indexed by Google?
-
Yes. TranslateToEnglish generates proper
hreflangtags, translated canonical URLs, and SEO-friendly/en/URLs. Translated pages also appear in XML sitemaps. Search engines can discover and index both language versions. -
Can I edit the machine translation before publishing?
-
Absolutely. Every translation starts with status “Machine Translated”. You can review and edit it in the side-by-side editor before setting it to “Published”.
-
Where do I find the translated pages in the admin?
-
Translated pages are intentionally hidden from the normal Posts/Pages lists to keep your admin tidy. You can manage all translations via the 2FOX4 Translate to English > Translations menu.
-
Not yet. The current version translates Posts and Pages only. Menu and widget translation is planned for a future release.
-
What happens if I change the German original after translating?
-
2FOX4 Translate to English detects content changes automatically and marks the translation as “outdated” in the metabox and the translations list.
-
Can I switch translation providers later?
-
Yes. You can switch between DeepL, OpenAI, and Google Translate at any time in the settings. Existing translations are preserved.
-
Does the plugin support languages other than English?
-
The current version supports German to English only. The architecture is designed for multi-language support in future releases.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“2FOX4 Translate to English” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “2FOX4 Translate to English” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
2.0.8
- Removed: Coffee/donation timed notice that was flagged as trialware/license check.
- Added: Simple one-time review notice (appears once after 7 days, permanently dismissible).
2.0.7
- Changed: Plugin renamed to “2FOX4 Translate to English” for WordPress.org directory compliance.
- Changed: Updated plugin slug to “2fox4-translate-to-english”.
- Changed: Updated text domain to “2fox4-translate-to-english”.
- Fixed: Plugin URI updated to valid URL.
2.0.6
- Fixed: Proper nonce verification for all $_GET/$_REQUEST parameters in translations list table (no more phpcs:ignore exceptions).
- Fixed: Added PayPal donate link disclosure to External Services section for WordPress.org compliance.
- Fixed: Removed unused admin notices class (dead code from earlier refactoring).
- Fixed: Translation view link in Posts/Pages list now correctly includes the /en/ URL prefix.
2.0.5
- Fixed: Plugin header now uses standard GPL-2.0-or-later license identifier.
- Fixed: Updated minimum requirements to WordPress 6.4 and PHP 8.0.
- Fixed: Data migrator now correctly publishes machine and reviewed translations during v1 to v2 migration.
- Fixed: Uninstall routine now removes all plugin options including migration flags.
- Added: Coffee donation notice refactored to follow standard template structure.
- Added: Translation template file (2fox4-translate-to-english.pot) for internationalization.
2.0.4
- Fixed: Translated pages were invisible to non-logged-in visitors (404 error). Machine and reviewed translations were incorrectly saved as WordPress drafts instead of published posts.
- Added: One-time upgrade routine that automatically publishes all existing translations affected by this bug.
2.0.3
- Added: Translation status column in the Posts and Pages list tables showing which content has been translated.
- Added: Direct links to view the translated page on the frontend and edit the translation from the list table.
- Fixed: Inline Test Connection buttons on the settings page now work correctly for each provider.
- Fixed: Script blocks are now preserved during translation, preventing JavaScript (e.g., FAQ accordions) from being destroyed by the translation API.
2.0.2
- Added: Elementor page builder support — translations now preserve the full Elementor layout and design.
- Added: Translatable text is extracted from Elementor widget settings (_elementor_data) and translated alongside post content.
- Added: Elementor meta fields (_elementor_edit_mode, _elementor_template_type, _elementor_version, etc.) are copied to translation posts.
- Added: Style block extraction for Elementor editor widgets to prevent CSS corruption during translation.
- Fixed: Pages built with Elementor lost all formatting when translated (displayed as plain content without layout).
2.0.1
- Fixed: All output escaping issues in exception messages across translation providers.
- Fixed: Unordered placeholders in provider factory error messages.
- Fixed: Input sanitization and nonce verification in translation editor.
- Fixed: Added wp_unslash() to all $_POST data before sanitization.
- Fixed: Replaced wp_redirect() with wp_safe_redirect() in language router.
- Fixed: Removed deprecated load_plugin_textdomain() call (handled by WordPress 4.6+).
- Fixed: Added direct file access protection to all PHP files.
- Fixed: Prefixed all global variables in uninstall.php and dashboard template.
- Fixed: Wrapped error_log() with WP_DEBUG check.
- Fixed: Updated “Tested up to” to WordPress 6.9.
2.0.0
- Major architecture change: Translations are now stored as native WordPress posts and pages instead of custom database tables.
- Full compatibility with SEO plugins (Yoast SEO, RankMath) — meta descriptions, Open Graph tags, and structured data work automatically.
- Translated pages now appear in XML sitemaps.
- Added hidden
translatetoenglish_languagetaxonomy for internal language tagging. - Added bidirectional post meta linking between originals and translations.
- Translations are hidden from normal Posts/Pages admin lists.
- Added automatic data migration from v1 custom tables to native posts.
- Simplified URL routing — translations are real posts with their own slugs.
- Bidirectional hreflang tags work on both German and English pages.
- Removed content replacement filters (no longer needed since WordPress serves translation content directly).
- Added
pre_get_postsfilter to exclude English translations from default queries. - Dashboard and REST API statistics now correctly exclude translation posts from total content count.
- Improved uninstall cleanup: removes translation posts, meta data, taxonomy terms, and legacy tables.
1.0.1
- Fixed: PHP fatal error caused by reserved keyword usage in REST controller.
- Fixed: Translated slug resolution in URL router.
- Fixed: Translation service now correctly passes source and target language to providers.
- Fixed: Redirect now uses translated slug instead of original slug.
1.0.0
- Initial release.
- Translation support for Posts and Pages.
- Three translation providers: DeepL, OpenAI, Google Cloud Translation.
- Automatic browser language detection with redirect.
- SEO-friendly /en/ URL structure with hreflang tags.
- Side-by-side translation editor.
- Language switcher shortcode.
- REST API for programmatic access.
