EWA AI String Assistant for Loco Translate integrates state-of-the-art AI translation directly into the Loco Translate editor for WordPress plugins and themes. On WordPress 7.0+, it seamlessly leverages the official, native WordPress AI Client ( wp_ai_client_prompt ) and connectors configured centra
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 6.0 and PHP 7.4.
SourceWordPress plugins · Nov 13, 2026
01 / Source details
Aboutthistool.
EWA AI String Assistant for Loco Translate integrates state-of-the-art AI translation directly into the Loco Translate editor for WordPress plugins and themes.
On WordPress 7.0+, it seamlessly leverages the official, native WordPress AI Client ( wp_ai_client_prompt ) and connectors configured centrally in WordPress Core, requiring zero plugin-level API keys. For WordPress 6.x or specialized setups, it provides an Advanced Direct Connection mode supporting OpenRouter (Anthropic Claude, OpenAI GPT, Google Gemini, DeepSeek, Meta Llama), locally hosted or remote Ollama instances, or any custom OpenAI-compatible API endpoint.
Key Features
Native WordPress AI Client Support (WordPress 7.0+) : Seamlessly uses the AI provider and credentials configured centrally in WordPress Core ( Settings → Connectors ) with zero plugin-level API keys required.
Advanced Direct Connection Mode : Full support for OpenRouter, local or remote self-hosted Ollama instances, and custom OpenAI-compatible endpoints with idempotent settings retention.
Direct Loco Translate Integration : Adds an “🤖 AI Translate” action panel to the Loco Translate PO file editor toolbar.
Deterministic ID-Based AI Protocol : Uses stable entry IDs ( entry_X ) and strict JSON envelope validation to guarantee 1:1 translation mapping without drift or alignment offset.
Strict Token & Placeholder Validation : Validates printf specifiers ( %s , %d , %1$s , %% ), variable templates ( {var} , {{var}} ), HTML tags, attributes ( href , src ), and HTML entities to prevent code corruption in translations.
Full Context Support ( msgctxt ) : Preserves gettext context disambiguation across the entire parsing and translation pipeline.
Native Plural Forms : Automatically requests and maps the exact number of plural forms ( nplurals ) defined for the target locale. Partial plural forms are safely detected and completed.
Smart Filtering & Cost Optimization : Automatically skips non-translatable strings (numbers, URLs, pure placeholders, HTML tags) in memory without making redundant API requests.
Atomic File Saving & Compilation : Writes PO files atomically using temporary files and filesystem locks, preserving file permissions and automatically compiling binary .mo files via WordPress POMO classes.
Real-Time Progress & Analytics : Monitor batch progress, elapsed time, strings translated, and token usage in real time.
Direct & Transparent Communication : In WordPress AI Client mode, requests are routed by WordPress Core through the configured connector. In Direct mode, requests are sent from your server to the configured endpoint without any Error Web Agency-operated intermediary or proxy server. Services such as OpenRouter may route requests onward to their own model providers under their terms and privacy policies.
100% Free & Open Source : No paywalls, no trial limits, no feature restrictions.
Important Disclaimer & Recommendations
Loco Translate Disclaimer : Loco Translate is an independent project by Tim Whitlock. This plugin is an independent third-party add-on and is not affiliated with, sponsored, or endorsed by Loco Translate or its authors.
Backup First : Always create a complete backup of your .po and .mo files before performing automated AI translations.
Review Translations : AI-generated translations are automated suggestions. Site owners are advised to review translated strings for context, grammar, and tone before deploying them on public or production sites.
API Usage & Costs : If using paid third-party APIs (such as OpenRouter or commercial providers), monitor your usage and set spending limits on your provider dashboard. Developers are not responsible for third-party billing charges.
External Services
This plugin can connect to external AI services when an administrator configures a provider and explicitly initiates an operation that requires that provider, such as translating strings, running an explicit Direct Connection test, or loading Direct Connection models. The WordPress AI Client availability check is local and does not send translation content to an AI provider.
Translation content is sent only to the provider selected and configured by the administrator (or configured centrally in WordPress Core Connectors). No data is ever transmitted automatically or in the background.
1. WordPress AI Client (WordPress 7.0+)
When the site is running WordPress 7.0 or higher and WordPress AI Client mode is active (default for new installations), translation requests are delegated to the official WordPress AI Client API ( wp_ai_client_prompt() ). WordPress AI Client is a routing interface; the actual external service is the AI provider configured by the administrator under Settings → Connectors .
Purpose : Translating Gettext PO strings using the central AI provider configured in WordPress Core ( Settings → Connectors ).
Data Transmitted : Source strings, plural variations, Gettext context ( msgctxt ), target language name, translation instructions, and optional model preferences.
Routing & Authentication : WordPress Core and the configured connector handle provider authentication and transport routing. This plugin does not access WordPress AI Client provider credentials. Previously saved Advanced Direct Connection credentials may remain stored in this plugin’s settings so an administrator can switch back later, but those credentials are not used while WordPress AI Client mode is active.
When Data is Transmitted : Translation content is transmitted only after an administrator explicitly starts an AI translation or another operation that performs generation. The “Check AI Availability” action performs a local capability/configuration check and does not transmit translation content to an AI provider.
Service Policies : Refer to the privacy policy and terms of service of the specific AI provider configured in your WordPress Settings → Connectors screen.
2. OpenRouter (Direct Connection Mode)
When OpenRouter is configured, HTTP requests required for AI translation are sent to the OpenRouter API.
Purpose : Translating Gettext PO strings using cloud-hosted LLM models (e.g. Anthropic Claude, OpenAI GPT, Google Gemini, DeepSeek, Meta Llama) and querying the list of available models.
Data Transmitted : Source strings and plural variations to be translated
Translation context ( msgctxt ) and target language name
System translation prompt and instructions
Selected model identifier and temperature settings
Administrator-configured API key (transmitted via standard HTTP Authorization Bearer header)
Site URL ( HTTP-Referer header) and Site Title ( X-Title header) as requested by OpenRouter API conventions for usage attribution
Downstream Model Provider Routing : OpenRouter operates as an AI API gateway and aggregator. When using OpenRouter, your translation prompts, source strings, and context are routed by OpenRouter to the specific AI model provider (such as Anthropic, OpenAI, Google, Meta, or Mistral) selected in your settings. Each upstream model provider processes data in accordance with their respective data and privacy policies as described in the OpenRouter Privacy Policy. When Data is Transmitted : Exclusively when an authenticated administrator clicks “AI Translate” in the Loco Translate editor, “Test Connection”, or “Load Models” on the settings screen. Provider : OpenRouter, Inc. Service Website : https://openrouter.ai/ Terms of Service : https://openrouter.ai/terms Privacy Policy : https://openrouter.ai/privacy
3. Ollama (Direct Connection Mode)
When Ollama is selected, HTTP requests are sent to the endpoint specified by the administrator (defaulting to http://localhost:11434 ).
Purpose : Translating strings using self-hosted open-source language models.
Data Transmitted : Source strings, plural forms, Gettext context, target language, system prompt, and model options.
Local vs Remote Hosting : When using a locally hosted Ollama instance ( http://localhost:11434 ), all data processing occurs entirely within the local server environment. No data is transmitted to any third-party cloud service.
If the administrator enters a remote Ollama server URL (e.g. on a private LAN or VPS), data is transmitted to that specific host configured by the administrator.
When Data is Transmitted : Only upon explicit administrator action (running a translation batch, testing connection, or loading models). Provider : Self-hosted application by Ollama. Service Website : https://ollama.com/ Terms of Service : https://ollama.com/terms Privacy Policy : https://ollama.com/privacy
4. OpenAI API (Direct Connection Mode)
OpenAI API is an optional external service. It is used only when an administrator explicitly selects the OpenAI preset (https://api.openai.com/v1) or configures an OpenAI endpoint and provides an OpenAI API key.
Purpose : Translating Gettext PO strings using official OpenAI models (such as GPT-4o, GPT-4o-mini) and querying the list of available OpenAI models.
Data Transmitted : Source strings, plural variations, Gettext context ( msgctxt ), target language name, system translation prompt and instructions, selected model identifier, and temperature settings. The administrator’s OpenAI API key is transmitted via standard HTTP Authorization Bearer header for direct authentication with OpenAI servers.
When Data is Transmitted : Exclusively upon explicit administrator action (clicking “AI Translate” in Loco Translate, “Test Connection”, or “Load Models” in the settings screen). No background requests, periodic polling, or automatic data collection occur.
Direct Communication : All requests are dispatched directly from your WordPress server to OpenAI’s official API servers. Error Web Agency does not operate any intermediary proxy servers and never intercepts, logs, or stores your API keys or translation data.
Service Terms : https://openai.com/policies/service-terms/
See it in action
Screenshots & previews.
Plugin settings page (top section) showing the AI Service Transparency disclosure, AI Connection Mode selector (native WordPress AI Client vs Advanced Direct Connection), live availability indicator ("Status: Ready"), central Connectors link, and optional model preference.Advanced translation settings panel on the settings screen (Temperature, Batch Size, Max Retries, "Skip strings that already have a translation", and custom System Prompt editor).Loco Translate PO file editor integration, displaying the dual language selectors ("From: [Source] ➔ To: [Target]"), the "🤖 AI Translate" toolbar action button, the active AI provider/model badge (e.g. "WordPress AI Client · deepseek/deepseek-v4.1-flash"), and the Gettext strings table.
02 / Source details
Gettingstarted.
01Ensure the Loco Translate plugin is installed and activated.
02Upload the ewa-ai-string-assistant-for-loco-translate folder to your /wp-content/plugins/ directory, or install the ZIP file via Plugins → Add New → Upload Plugin .
03Activate the plugin through the Plugins menu in WordPress.
04Navigate to Settings → EWA AI String Assistant in the WordPress admin menu.
05Choose your AI Connection Mode: WordPress AI Client (Recommended) : Available on WordPress 7.0+. Uses credentials and connectors configured in Settings → Connectors .
06Advanced Direct Connection : Configure OpenRouter, Ollama, or a custom OpenAI-compatible endpoint directly.
07Go to Loco Translate → Plugins or Loco Translate → Themes , and open any PO translation file in the editor.
08Click the 🤖 AI Translate button in the editor toolbar, review the settings, and click Start Translation .
03 / Source details
Frequently asked questions.
Where do I find the plugin settings menu?
You can find the plugin settings by navigating to Settings → EWA AI String Assistant in the WordPress administrator sidebar menu. A direct Settings link is also available on the Plugins screen ( plugins.php ) right under the plugin name. When editing any .po file in Loco Translate ( Loco Translate → Plugins or Loco Translate → Themes ), the AI translation controls and status badges appear automatically directly above the Gettext translation table.
Does this plugin require Loco Translate?
Yes. EWA AI String Assistant for Loco Translate is an add-on that specifically extends Loco Translate. Loco Translate must be installed and active.
Is an API key required to use the plugin?
On WordPress 7.0+ with the native WordPress AI Client mode active, no plugin-level API key is required — credentials and connectors are managed centrally by WordPress Core ( Settings → Connectors ). In Direct Connection mode, an API key is required for OpenRouter or commercial OpenAI endpoints, but local Ollama instances require no API keys.
Does this plugin send data to third parties automatically?
No. No data is ever sent automatically or in the background. Data is sent to the configured AI provider only when an administrator explicitly initiates an action, such as testing the connection or translating strings.
Does the plugin overwrite existing translations?
No. By default, the plugin only translates untranslated strings. Existing translated strings in your PO file are preserved intact.
How does the plugin handle plural forms?
The plugin parses the PO file header for plural rules ( Plural-Forms: nplurals=... ) and sends both singular and plural source strings to the AI. The AI generates all required plural variations, which are validated against the target language’s plural count before being written to the file.
What happens if an API request fails?
The plugin includes exponential backoff retry logic for transient errors (such as network hiccups or rate limits). If a permanent error occurs (e.g. 401 Invalid Key or 404 Model Not Found), the job halts cleanly and provides an actionable error message. Failed items are never falsely flagged as fuzzy.
How are translations saved?
Translations are written atomically to the .po file on your server using WP_Filesystem and standard locking mechanisms. The plugin then automatically compiles the binary .mo file using WordPress POMO classes, making the translations immediately available to WordPress.
Can I use this plugin for commercial websites?
Yes. The plugin is licensed under GPL v2 or later and can be used on any number of personal or commercial websites without restrictions.
Who is responsible for backups and translation accuracy?
The site administrator is solely responsible for creating and maintaining backups of translation files prior to using the plugin, and for reviewing generated translations for contextual correctness. The developers and Error Web Agency (EWA) assume no liability for machine translation errors, unintended file overwrites, data loss, or third-party API costs.
FinderPress Media Auditor helps site administrators scan for broken images, missing Media Library files, unreachable media URLs, and other media issues across WordPress content. Use it to audit images, video, audio, PDFs, featured images, and attachment files without sending scan data to an external
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati