Title: SimplePoTranslate
Author: SimplePoTranslate
Published: <strong>27 de Abril, 2026</strong>
Last modified: 12 de Xuño, 2026

---

Buscar plugins

![](https://ps.w.org/simplepo-translator/assets/banner-772x250.png?rev=3516553)

![](https://ps.w.org/simplepo-translator/assets/icon-256x256.png?rev=3516553)

# SimplePoTranslate

 Por [SimplePoTranslate](https://profiles.wordpress.org/simplepotranslate/)

[Descargar](https://downloads.wordpress.org/plugin/simplepo-translator.1.0.7.zip)

 * [Detalles](https://gl.wordpress.org/plugins/simplepo-translator/#description)
 * [Valoracións](https://gl.wordpress.org/plugins/simplepo-translator/#reviews)
 *  [Instalación](https://gl.wordpress.org/plugins/simplepo-translator/#installation)
 * [Desenvolvemento](https://gl.wordpress.org/plugins/simplepo-translator/#developers)

 [Soporte](https://wordpress.org/support/plugin/simplepo-translator/)

## Descrición

SimplePoTranslate is the safest way to translate WordPress themes and plugins with
AI — directly from your dashboard. It auto-detects every translatable theme and 
plugin on your site, translates into 39 languages, and writes ready-to-use `.po`/`.
mo` files without touching a single line of your theme or plugin code.

Unlike generic AI translators, SimplePoTranslate is built for gettext: it is designed
to keep placeholders (`%s`, `%1$s`), HTML tags, and plural forms intact, so your
strings stay valid after translation.

**Why developers and agencies choose it:**

 * **Auto-detect everything** — Recursively scans every active theme and plugin 
   and finds `.po`, `.pot`, and untranslated projects, with 3-layer name resolution
   that handles non-standard slugs (e.g. ACF Pro).
 * **Translate many languages at once** — Each language runs as its own job, so 
   if one fails the rest still complete.
 * **Built for gettext** — Designed to preserve placeholders (`%s`, `%1$s`), HTML
   tags, and plural forms during translation.
 * **Manual or automatic** — Download, translate and upload the files yourself, 
   or add an API key and click Auto Translate.
 * **Inline string editor** — Fix fuzzy and untranslated strings in your browser,
   filter by status, and save with one click.
 * **POT file generation** — Scan your plugin or theme source code and generate 
   a fresh `.pot` template.
 * **Safe imports** — Upload a ZIP or a bare `.po`; an automatic backup is taken
   before every import and the `.mo` is compiled for you.
 * **No subscription lock-in** — A free tier plus an optional one-time plan; no 
   recurring fee required.

**Perfect for:**

Theme and plugin developers, freelancers, and agencies localizing WordPress, WooCommerce,
LMS plugins (LearnDash, LifterLMS), and membership sites.

**Supported Languages:**

Turkish, Spanish, German, French, Italian, Portuguese (Brazil), Russian, Japanese,
Chinese (Simplified), Korean, Arabic, Dutch, Polish, Ukrainian, Czech, Swedish, 
Danish, Finnish, Hungarian, Romanian, Greek, Thai, Vietnamese, Hebrew, Indonesian,
Malay, Filipino, Hindi, Bengali, Urdu, Persian, Serbian, Croatian, Slovak, Bulgarian,
Lithuanian, Latvian, Estonian, and Slovenian.

**How It Works:**

 1. Install and activate the plugin.
 2. Navigate to SimplePoTranslate in the admin menu.
 3. Scan your site to discover all translation files.
 4. Choose your target languages and translate — either via the API or manually.
 5. Import the translated files and your site is localized!

### External services

This plugin connects to the SimplePoTranslate API (a third-party service operated
by the plugin author) to provide optional AI-assisted translation of PO files. The
service is only contacted when you explicitly choose to use it.

**What the service is and what it’s used for:**

The SimplePoTranslate API is a cloud translation service that accepts a PO file 
and a target language code, returns a translated PO file, and reports account quota
usage. It is used to power the “Auto Translate” feature in the plugin. Use of the
service is entirely optional — the plugin’s manual translation workflow works without
it.

**When data is sent:**

The plugin contacts the service only in the following situations, all of which require
a signed-in administrator to take explicit action:

 * When you enter an API key in **SimplePoTranslate  Settings** and click **Test
   API Key** (sends the key to `GET /account` for validation).
 * When you open the **SimplePoTranslate Dashboard** while an API key is configured(
   fetches account plan and quota from `GET /account`). The result is cached for
   one hour.
 * When you click **Auto Translate** on the Scanner page (uploads the selected PO
   file to `POST /jobs/create`).
 * While a translation job is running, the plugin polls `GET /jobs/{id}/status` 
   in the background until completion, then downloads the translated ZIP from a 
   signed URL returned by the service.

**What data is sent:**

 * The Bearer API key you entered in Settings (required for every request).
 * The contents of the selected PO file (only when you submit a job — never otherwise).
 * The target language code you selected (e.g. `tr_TR`, `de_DE`).
 * The translation mode (`empty_only`).

No site URL, user identity, or other personal data is transmitted. The API key is
stored encrypted (AES-256-CBC) in the WordPress options table.

**Service provider and legal terms:**

The SimplePoTranslate API is provided by the plugin author. Use of the service is
governed by the following documents, which you should review before entering an 
API key:

 * Terms of Service: [https://simplepotranslate.com/terms](https://simplepotranslate.com/terms)
 * Privacy Policy: [https://simplepotranslate.com/privacy](https://simplepotranslate.com/privacy)

### Privacy

This plugin does not collect or transmit any data on its own. It only sends data
to the SimplePoTranslate API when you explicitly use the Auto Translate feature 
or connect an API key (see the **External services** section above for details on
what is sent and when). All translation work performed without an API key happens
entirely on your own server.

## Capturas

[⌊Dashboard — Overview of your translation status with quick actions.⌉⌊Dashboard—
Overview of your translation status with quick actions.⌉[

Dashboard — Overview of your translation status with quick actions.

[⌊Scanner — Discover all translatable files across your themes and plugins.⌉⌊Scanner—
Discover all translatable files across your themes and plugins.⌉[

Scanner — Discover all translatable files across your themes and plugins.

[⌊Translations — Manage and monitor all your translation jobs.⌉⌊Translations — Manage
and monitor all your translation jobs.⌉[

Translations — Manage and monitor all your translation jobs.

[⌊Settings — Configure API key and translation preferences.⌉⌊Settings — Configure
API key and translation preferences.⌉[

Settings — Configure API key and translation preferences.

[[

[[

[[

[[

[[

[[

[[

[[

## Instalación

 1. Upload the `simplepo-translator` folder to the `/wp-content/plugins/` directory,
    or install the plugin through the WordPress plugins screen directly.
 2. Activate the plugin through the ‘Plugins’ screen in WordPress.
 3. Navigate to **SimplePoTranslate** in your admin menu to start scanning and translating.

**For API-powered translations:**

 1. Go to **SimplePoTranslate  Settings**.
 2. Enter your API key from [simplepotranslate.com](https://simplepotranslate.com).
 3. Return to the Scanner page and click **Auto Translate** to begin.

## Preguntas frecuentes

### Does this plugin modify my theme or plugin files?

No. Your original theme and plugin files are never touched. Translations are written
to the plugin’s own uploads directory (`wp-content/uploads/simplepo-translator/`),
and a built-in loader makes WordPress use them while the plugin is active. If you
want the translations to keep loading even after the plugin is removed, use **Settings
Copy translations to WordPress system directory** to copy them into `wp-content/
languages/` (see the next FAQ for details).

### What happens to my translations if I deactivate the plugin?

The plugin stores its working translations in its own uploads directory (`wp-content/
uploads/simplepo-translator/`), and a built-in translation loader redirects WordPress
lookups there while the plugin is active. If you deactivate or remove the plugin,
that loader no longer runs, so translations in the uploads directory will stop loading.

To keep your translations working after the plugin is removed, open **SimplePoTranslate
Settings** and click **Copy translations to WordPress system directory** before 
deactivating. This copies every translation into `wp-content/languages/plugins/`
and `wp-content/languages/themes/`, where WordPress loads them natively — no plugin
required.

### Do I need an API key to use the plugin?

No. You can use the manual translation mode for free — download PO files, translate
them with any external tool, and upload them back. An API key is only needed for
the automated translation feature.

### What file formats are supported?

The plugin works with standard PO (Portable Object) and MO (Machine Object) files,
which are the standard translation format for WordPress.

### Can I translate multiple languages at once?

Yes. When using the API translation mode, you can select multiple target languages
and the plugin will process them all in a single operation.

### Does the plugin create backups?

Yes. Before importing any translation, the plugin automatically creates a `.bak`
backup of the existing PO file.

### Is the plugin’s interface available in my language?

The official translation project lives at [translate.wordpress.org/projects/wp-plugins/simplepo-translator/](https://translate.wordpress.org/projects/wp-plugins/simplepo-translator/).
Once a locale is approved by the WordPress Polyglots community, WordPress automatically
installs the language pack on your site — no extra step required.

If your locale is not yet translated and you would like the plugin’s UI in your 
language right now, you can use SimplePoTranslate on its own POT file:

 1. Go to **SimplePoTranslate  Scan Files**.
 2. Find the `simplepo-translator.pot` row and click **Auto Translate** (with an API
    key) or download it for manual translation.
 3. The translated `.po`/`.mo` lands in your uploads directory and the plugin’s UI 
    switches to your language immediately.

Contributions back to translate.wordpress.org are very welcome — the more locales
the community approves, the more users benefit.

## Comentarios

![](https://secure.gravatar.com/avatar/386bd8519d8ca50cd8c990aa845e6ce3c8139ce8fadfd976ae4d358dc2f8a61e?
s=60&d=retro&r=g)

### 󠀁[Great Plugin](https://wordpress.org/support/topic/great-plugin-41456/)󠁿

 [ssercanx1](https://profiles.wordpress.org/ssercanx1/) 28 de Abril, 2026

Very successful plugin.

 [ Ler a 1 opinión ](https://wordpress.org/support/plugin/simplepo-translator/reviews/)

## Colaboradores e desenvolvedores

“SimplePoTranslate” é un software de código aberto. As seguintes persoas colaboraron
con este plugin.

Colaboradores

 *   [ SimplePoTranslate ](https://profiles.wordpress.org/simplepotranslate/)

“SimplePoTranslate” foi traducido a 1 idioma. Grazas [aos desenvolvedores](https://translate.wordpress.org/projects/wp-plugins/simplepo-translator/contributors)
polas súas contribucións.

[Traduce “SimplePoTranslate” ao teu idioma.](https://translate.wordpress.org/projects/wp-plugins/simplepo-translator)

### Interesado no desenvolvemento?

[Revisa o código](https://plugins.trac.wordpress.org/browser/simplepo-translator/),
bota unha ollada ao[repositorio SVN](https://plugins.svn.wordpress.org/simplepo-translator/),
ou subscríbete ao [log de desenvolvemento](https://plugins.trac.wordpress.org/log/simplepo-translator/)
por [RSS](https://plugins.trac.wordpress.org/log/simplepo-translator/?limit=100&mode=stop_on_copy&format=rss).

## Rexistro de cambios

#### 1.0.7

 * Confirmed compatibility with WordPress 7.0 — “Tested up to” raised to 7.0. The
   plugin’s translation-loading hooks (`load_textdomain_mofile`, `pre_load_textdomain`,`
   override_load_textdomain`) and PO/MO handling were verified against WordPress
   7.0’s internationalization pipeline; no changes were required. Verified clean
   on PHP 8.0 through 8.5.
 * Fixed a String Editor bug where approving or saving a fuzzy entry whose `#,` 
   flag line listed `fuzzy` after another flag (e.g. `#, php-format, fuzzy`) did
   not actually clear the fuzzy flag, so the entry kept re-appearing as fuzzy. The
   flag is now removed regardless of its position. The same hardening was applied
   to the import/merge path, and in both places a msgid or translation that literally
   contains the word “fuzzy” is never altered.
 * Performance: the scan results cache is no longer autoloaded — it is only needed
   on the plugin’s admin pages, so it is kept out of the options data WordPress 
   loads into memory on every front-end and admin request.
 * New admin notice when your saved API key can no longer be decrypted — this happens
   when the site’s secret keys/salts are rotated (e.g. `wp config shuffle-salts`).
   Previously the key silently became unreadable and Auto Translate failed with 
   a confusing “No API key” error; now you get a clear prompt to re-enter it.
 * Performance: the translation loader no longer re-scans the uploads directory 
   twice per page load — the two safety-net passes now share a single directory 
   scan.
 * Import diagnostics logging can now be turned off on production (define `SIMPLEPO_DISABLE_IMPORT_LOG`
   or add the `simplepo_import_logging` filter); it remains on by default so failures
   stay greppable in `debug.log`.
 * The background job poller now runs on demand: it is scheduled when you start 
   a translation and automatically unschedules itself once no jobs are pending, 
   so an idle site no longer runs an every-minute WP-Cron event (and database query)
   for nothing. Responsiveness while jobs are in flight is unchanged.
 * Minor internal hardening of the job-polling AJAX handler for consistency with
   the other endpoints (no functional change).
 * New one-time review prompt: after your first successful translation import, a
   dismissible notice on the plugin’s own admin pages invites you to leave a review.
   It appears once, can be closed permanently, and never shows again after that.

#### 1.0.6

 * New readme FAQ on translating the plugin’s interface — points users to the official
   translate.wordpress.org project for community translations and shows how to use
   the plugin’s own Auto Translate flow on its POT file as a fallback while their
   locale is still being translated.
 * Suppressed a `Cannot modify header information` PHP warning that could appear
   in `debug.log` on sites running with `WP_DEBUG` enabled. The plugin’s admin pages
   now check `headers_sent()` before emitting the LiteSpeed cache-bypass header,
   so the header is sent when possible and quietly skipped when output has already
   begun (no functional impact either way).

#### 1.0.5

 * Fixed a silent-failure case where a translation job that completed on the API
   side never had its `.po`/`.mo` written into the plugin uploads directory — e.
   g. after a PHP timeout, memory-limit exhaustion during ZIP extraction, or the
   browser tab being closed mid-import. Previously the affected job became an invisible“
   zombie” (status marked completed but no file on disk, hidden from the Translations
   page). v1.0.5 keeps the download URL on the row until the write is confirmed,
   wraps the entire import pipeline in try/catch so any fatal surfaces as a Failed
   row with an error message, and uses a transient lock to prevent duplicate imports.
 * New **Retry Import** action in the Translations page for any job whose file did
   not make it into the uploads directory (including jobs stuck by earlier versions).
   One click refetches a fresh download URL from the API and re-runs the import.
 * The Active Jobs panel now stays visible for at least 1.5 seconds even when the
   API responds instantly, so users always see that their translation was submitted.
 * Every step of the import pipeline (download, extract, resolve, write, recompile,
   DB update) is logged to `wp-content/debug.log` with a `[SimplePoTranslate import]`
   prefix, making failure diagnosis straightforward.
 * Scan Files and Translations pages now correctly group uploaded translation files
   under the parent plugin (not under a generic “plugins” header) and show a proper**
   Uploads** location badge.
 * String Editor now saves fuzzy entries whose suggested translation the user left
   unchanged (previously the save silently skipped them because the text hadn’t 
   been edited).
 * Manually-edited translations now show a delete icon on the Translations page (
   previously only API-imported files were deletable).
 * Translations page auto-runs a fresh scan when the cache is empty instead of showing
   a blank table.
 * Compatibility shim for plugins that bypass WordPress’ translation API with their
   own custom MO loader (currently Smart Slider 3 Free and Pro, which use the Nextend
   framework’s private `Localization::$l10n` cache and an `{locale}.mo` filename
   convention). The plugin does not write outside the uploads directory to support
   them; instead, after the third-party plugin has finished booting, we read our
   own uploads `.mo` and replace their in-memory translation cache via PHP reflection
   so our translations take effect on the frontend. The shim is scoped to one class,
   wrapped in try/catch, and a silent no-op on sites without Smart Slider 3 installed.

#### 1.0.4

 * Removed every direct reference to the discouraged WordPress path constants (`
   WP_PLUGIN_DIR`, `WP_CONTENT_DIR`, `WP_LANG_DIR`, and `WPINC`). All filesystem
   paths are now derived from `plugin_dir_path( __FILE__ )` and the public `wp_upload_dir()`/`
   get_theme_root()` APIs, which work correctly under relocated wp-content layouts,
   symlinked plugins, and Bedrock-style installs.
 * Translation API compatibility: fixed a backend provider issue that previously
   caused translation jobs to fail with “API reported status=failed” in some locales.

#### 1.0.3

 * String Editor now supports editing `.po` files from any scanned location. When
   you edit a file stored in a plugin/theme bundle directory or in the v1.0.1 legacy
   system directory (`wp-content/languages/`), the plugin automatically copies it
   into the plugin uploads working area on first edit — your edits live there, the
   original file is never modified.
 * The Translations page now shows the underlying reason when a translation job 
   fails (instead of just a “Failed” badge with no detail).
 * Import failures now update the job’s DB row with a clear error message, making
   it possible to diagnose failed jobs without enabling WP_DEBUG.
 * Every step of the import pipeline now writes a structured `[SimplePoTranslate
   import]` log line to WordPress’s error log, so the cause of any future import
   failure can be inspected with a single grep.
 * Dashboard surfaces a warning when the plugin cannot write to the uploads directory
   at activation (previously silent).

#### 1.0.2

 * All generated `.pot`, `.po`, and `.mo` files are now written exclusively to `
   wp-content/uploads/simplepo-translator/` (per WordPress.org plugin team guidance).
   The plugin no longer writes to `wp-content/languages/` or any plugin/theme bundle
   directory during normal operation.
 * Translations activate transparently while the plugin is active: the built-in 
   translation loader redirects WordPress’s `load_textdomain_mofile` and `pre_load_textdomain`
   filters to the uploads location, so plugins with custom translation loaders (
   e.g. Smart Slider 3) continue to work.
 * **New — Copy translations to WordPress system directory** (Settings  Preserve
   translations): a one-click action that copies the contents of the plugin’s uploads
   directory into `wp-content/languages/plugins/` and `wp-content/languages/themes/`.
   Click this before deactivating or removing the plugin if you want your translations
   to keep loading afterwards. This is the only code path that writes outside the
   uploads area, and it runs only when the administrator explicitly triggers it.
 * Previous “bundle copy” compatibility feature removed; superseded by the translation
   loader redirect above.
 * Backup files now live in `wp-content/uploads/simplepo-translator/backups/` (rotated
   per-file, 5 most recent kept).
 * Path-handling consolidated into a single internal helper (`SimplePOTranslator\
   Paths`); direct `WP_PLUGIN_DIR` / `WP_CONTENT_DIR` references reduced to 3 security/
   enumeration call sites with inline justifications.
 * String Editor now restricts in-place edits to files inside the uploads directory.
   v1.0.1 translations at `wp-content/languages/plugins/` remain loadable but are
   read-only in the editor — re-import them to move into the new location.
 * Full Reset (Danger Zone) and uninstall now remove the uploads directory only;
   legacy `wp-content/languages/` files are preserved in case WordPress core / GlotPress
   language packs share the directory.
 * Deactivation notice on the Plugins page now warns that translations in the uploads
   directory stop loading once the plugin is inactive and points the user to the
   new Copy-to-system action.

#### 1.0.1

 * Disclosure: added **External services** and **Privacy** sections to the readme
   documenting the optional SimplePoTranslate API (what data is sent, when, and 
   links to Terms and Privacy Policy).
 * Generated `.pot` files are now written to the WordPress system translations directory(`
   wp-content/languages/plugins/` or `wp-content/languages/themes/`) so they survive
   plugin and theme updates.
 * Imported `.po`/`.mo` files from the Auto Translate API are always routed to the
   WordPress system translations directory; removed a fallback that could write 
   to a plugin’s bundle folder when a locale could not be derived.
 * Tightened the inline string editor’s file path validation: edits are now restricted
   to files inside `wp-content/languages/` or files discovered by a prior scan.

#### 1.0.0

 * Initial release.
 * One-click file scanning for PO/POT files.
 * API-powered automatic translation for 39 languages.
 * Manual translation workflow with upload support.
 * Inline string editor for fuzzy and untranslated entries.
 * POT file generation from plugin/theme source code.
 * Multi-language simultaneous translation.
 * Automatic backup before import operations.
 * Safe uninstall — preserves all translation files.

## Meta

 *  Versión **1.0.7**
 *  Última actualización **Fai 4 días**
 *  Instalacións activas **20+**
 *  Versión de WordPress ** 6.4 ou superior **
 *  Probado ata **7.0**
 *  Versión de PHP ** 8.0 ou superior **
 *  Idiomas
 * [Dutch](https://nl.wordpress.org/plugins/simplepo-translator/) e [English (US)](https://wordpress.org/plugins/simplepo-translator/).
 *  [Traduce ao teu idioma](https://translate.wordpress.org/projects/wp-plugins/simplepo-translator)
 * Etiquetas
 * [gettext](https://gl.wordpress.org/plugins/tags/gettext/)[i18n](https://gl.wordpress.org/plugins/tags/i18n/)
   [localization](https://gl.wordpress.org/plugins/tags/localization/)[po](https://gl.wordpress.org/plugins/tags/po/)
   [translation](https://gl.wordpress.org/plugins/tags/translation/)
 *  [Vista avanzada](https://gl.wordpress.org/plugins/simplepo-translator/advanced/)

## Valoracións

 5 de 5 estrelas

 *  [  1 valoración de 5 estrelas     ](https://wordpress.org/support/plugin/simplepo-translator/reviews/?filter=5)
 *  [  0 valoracións de 4 estrelas     ](https://wordpress.org/support/plugin/simplepo-translator/reviews/?filter=4)
 *  [  0 valoracións de 3 estrelas     ](https://wordpress.org/support/plugin/simplepo-translator/reviews/?filter=3)
 *  [  0 valoracións de 2 estrelas     ](https://wordpress.org/support/plugin/simplepo-translator/reviews/?filter=2)
 *  [  0 valoracións de 1 estrelas     ](https://wordpress.org/support/plugin/simplepo-translator/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/simplepo-translator/reviews/#new-post)

[Ver todas as valoracións](https://wordpress.org/support/plugin/simplepo-translator/reviews/)

## Colaboradores

 *   [ SimplePoTranslate ](https://profiles.wordpress.org/simplepotranslate/)

## Soporte

Tes algo que dicir? Necesitas axuda?

 [Ver o foro de soporte](https://wordpress.org/support/plugin/simplepo-translator/)