Description
LocalizePilot creates language-prefixed versions of WordPress posts and pages while retaining the original page path. Administrators can generate translations through a supported translation or AI provider, then review and correct each language version in the WordPress block editor.
The plugin is disabled by default. It does not contact an external translation provider until an administrator configures a provider, enables LocalizePilot, and generates, tests, refreshes, or visits content that requires translation.
Gutenberg translation workflow
- Open a WordPress post or page.
- Create a language version from the LocalizePilot panel.
- Review the generated title, excerpt, blocks, links, and media in Gutenberg.
- Set the translation status to Automatic, Edited, Reviewed, or Needs update.
- Save the translation to update its content snapshot and invalidate its rendered-page cache.
Main features
- Gutenberg-editable translations for posts and pages
- Automatic, Edited, Reviewed, and Needs update statuses
- Language-specific featured images and Gutenberg media
- Same-page language URLs, such as
/de/blog/example-post/ - TranslateX and Google Cloud Translation support
- OpenAI, Gemini, Claude, Kimi, DeepSeek, Mistral, Groq, and OpenRouter support
- Editable AI model IDs and translation instructions
- Optional fallback provider
- Shortcode:
[localizepilot_switcher] - Dynamic Gutenberg language switcher block
- Optional automatic header language switcher
- RTL, canonical, and hreflang support
- Persistent Gutenberg content snapshots
- Rendered-page HTML file cache
- Optional WordPress object-cache layer
- Paginated cache history and cache-management actions
- First-party visitor analytics by language page
- Unique visitor and repeat page-view reporting
- Analytics filters for language, date range, and URL
- Configurable daily automatic-translation limit
Translation statuses
- Automatic: generated by the selected provider.
- Edited: changed by a WordPress editor.
- Reviewed: manually checked and approved.
- Needs update: the source post or page changed after translation.
Cache storage
For published source content, Gutenberg translation content can be exported to:
wp-content/cache/localizepilot/{post-id}_{language}.html
Complete public rendered pages are cached separately at:
wp-content/cache/localizepilot/pages/{post-id}_{language}.html
The WordPress translation record remains the source of truth. Clearing cache files does not delete manual corrections.
External services
LocalizePilot uses only the provider selected and configured by a WordPress administrator. When a translation is generated, tested, refreshed, or required for a frontend page, including a normal page viewed by a logged-in visitor, the plugin may send titles, excerpts, block text, visible page text, supported attributes, source and target language codes, model settings, and custom translation instructions to that provider. The configured API key is sent only to the selected provider.
Each provider controls its own billing, retention, model training, quotas, regional availability, terms, and privacy practices. Review the selected provider’s policies before sending personal or sensitive content.
TranslateX
- Service and documentation: https://translatex.com/api-documentation
- Terms: https://translatex.com/terms
- Privacy: https://translatex.com/privacy-policy
Google Cloud Translation
- Documentation: https://cloud.google.com/translate/docs
- Terms: https://cloud.google.com/terms
- Privacy: https://policies.google.com/privacy
OpenAI
- Documentation: https://platform.openai.com/docs
- Terms and policies: https://openai.com/policies/
- Privacy: https://openai.com/privacy/
Google Gemini
- Documentation: https://ai.google.dev/gemini-api/docs
- Terms: https://ai.google.dev/gemini-api/terms
- Privacy: https://policies.google.com/privacy
Anthropic Claude
- Documentation: https://platform.claude.com/docs
- Terms: https://www.anthropic.com/legal/commercial-terms
- Privacy: https://www.anthropic.com/legal/privacy
Kimi by Moonshot AI
- Documentation: https://platform.kimi.ai/docs/api/overview
- Terms: https://platform.kimi.ai/docs/agreement/modeluse
- Privacy: https://platform.kimi.ai/docs/agreement/userprivacy
DeepSeek
- Documentation: https://api-docs.deepseek.com/
- Terms: https://cdn.deepseek.com/policies/en-UK/deepseek-open-platform-terms-of-service.html
- Privacy and general terms: https://cdn.deepseek.com/policies/en-US/deepseek-terms-of-use.html
Mistral AI
- Documentation: https://docs.mistral.ai/
- Terms: https://legal.mistral.ai/terms/commercial-terms-of-service
- Privacy: https://legal.mistral.ai/terms/privacy-policy
Groq
- Documentation: https://console.groq.com/docs
- Terms: https://console.groq.com/docs/legal/services-agreement
- Privacy and legal policies: https://console.groq.com/docs/legal
OpenRouter
- Documentation: https://openrouter.ai/docs
- Terms: https://openrouter.ai/terms
- Privacy: https://openrouter.ai/privacy/
Privacy and data removal
LocalizePilot stores settings and API keys in the WordPress options table, translation records in the WordPress posts and post-meta tables, daily usage counters in the options table, generated cache files under wp-content/cache/localizepilot/, and optional first-party analytics events in a dedicated WordPress database table.
When analytics is enabled, anonymous visitors receive a random localizepilot_visitor_id cookie. The plugin stores a one-way hash of that identifier, the normalized source page URL, language code, and visit time. Raw IP addresses and user-agent strings are not stored. The same visitor is counted once per language page in unique visitor reports, while every repeat visit remains available as a page-view event.
Using WordPress’s Delete action for the plugin runs uninstall.php and removes LocalizePilot settings, usage counters, translation records, analytics events, the analytics table, scheduled cleanup, and generated cache files. Deactivation alone does not delete data.
Blocks
This plugin provides 1 block.
- Language Switcher Display the LocalizePilot language switcher anywhere in your content or templates.
Installation
- Upload the plugin ZIP through Plugins > Add New > Upload Plugin.
- Activate LocalizePilot.
- Open LocalizePilot in the WordPress admin menu.
- Select a provider and enter the required API key.
- Select target languages and review the cache and switcher settings.
- Enable LocalizePilot and save the settings.
- Use pretty permalinks. If a language URL returns 404, open Settings > Permalinks and click Save Changes.
- Edit a post or page and create its language versions.
FAQ
-
How do I display the language switcher?
-
Use
[localizepilot_switcher], or add the LocalizePilot Language Switcher block. Shortcode overrides are available, for example:[localizepilot_switcher style="inline" labels="native" alignment="center"] -
Can I edit an automatic translation?
-
Yes. Each post and page translation is stored as a Gutenberg-editable WordPress record with revisions.
-
Will clearing the cache delete corrections?
-
No. Corrections are stored in the WordPress database. HTML files are generated snapshots and rendered-page caches.
-
Does the plugin translate pages for logged-in visitors?
-
Yes. Normal frontend posts, pages, archives, menus, headers, and footers can be translated for both logged-in and logged-out visitors. Logged-in responses are translated in memory and are not saved to the shared full-page HTML cache. The WordPress admin bar is excluded from translation.
For privacy and security, password-protected content, non-GET requests, and common WooCommerce cart, checkout, and account pages remain excluded from automatic full-page API translation.
-
How are analytics visitors counted?
-
When analytics is enabled, LocalizePilot stores every eligible page visit as an event. Unique visitor reports count the same one-way visitor identifier only once for each page and language combination, while Page Views includes all repeat visits. Raw IP addresses are not stored.
-
Are automatic translations guaranteed to be accurate?
-
No. Machine and AI translations can contain errors. Review important legal, medical, financial, product, and marketing content before publishing.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“LocalizePilot – Multilingual Content & Media” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “LocalizePilot – Multilingual Content & Media” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.1
- Added a new Analytics tab with visitor and page-view reports for each language page.
- Added language, date-range, and specific URL filters.
- Added a built-in visitor and page-view graph without external chart libraries.
- Added unique visitor counts to the cache history table.
- Stored repeat visits as separate events while counting each visitor once per language page.
- Added configurable analytics retention and complete analytics-data removal.
- Excluded WordPress
/embed/endpoints from translation, cache, and analytics processing. - Removed trailing
/embed/from URLs displayed in cache and analytics reports. - Kept translated links on the selected language and translated normal frontend pages for logged-in and logged-out visitors.
- Kept shared rendered-page caching disabled for logged-in and personalized responses.
1.0.0
- Initial WordPress.org release.
- Added Gutenberg-editable translation records and review statuses.
- Added language-specific media support.
- Added translation and AI provider integrations with optional fallback.
- Added the shortcode and dynamic Gutenberg language switcher block.
- Added same-page language URLs, RTL, canonical, and hreflang support.
- Added persistent content snapshots, rendered-page caching, cache history, and pagination.
