SimplePoTranslate

বৰ্ণনা

SimplePoTranslate is a powerful WordPress plugin that helps you translate your themes and plugins directly from your WordPress dashboard. It works with standard PO/MO translation files and supports 39 languages.

Key Features:

  • One-Click Scanning — Automatically detects all translatable PO and POT files across your active themes and plugins.
  • API-Powered Translation — Submit files for professional-quality AI translation and import results with a single click.
  • Manual Translation Mode — Download PO files, translate them externally, and upload the results back through an intuitive interface.
  • Inline String Editor — Edit fuzzy and untranslated strings directly in your browser without leaving WordPress.
  • POT File Generation — Scan your plugin or theme source code and generate a fresh POT template file.
  • Multi-Language Support — Translate into multiple languages simultaneously with a single action.
  • Safe & Non-Destructive — Translations are saved to the standard WordPress languages directory, surviving plugin and theme updates.
  • Backup System — Automatic backups of existing PO files before any import operation.

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:

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.

স্ক্ৰীনশ্বট

  • Dashboard — Overview of your translation status with quick actions.
  • Scanner — Discover all translatable files across your themes and plugins.
  • Translations — Manage and monitor all your translation jobs.
  • Settings — Configure API key and translation preferences.

ইনষ্টলেশ্যন

  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.
  3. Return to the Scanner page and click Auto Translate to begin.

সঘনাই উত্থাপিত প্ৰশ্ন

Does this plugin modify my theme or plugin files?

No. All translations are saved to the standard WordPress languages directory (wp-content/languages/plugins/ or wp-content/languages/themes/). Your original theme and plugin files remain untouched.

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/. 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.

পৰ্য্যালোচনা

আটাই 1টা পৰ্য্যালোচনা পঢ়ক

অৱদানকাৰী আৰু বিকাশকাৰীসকল

“SimplePoTranslate” হৈছে মুক্ত উৎসৰ ছফ্টৱেৰ। এইসকল লোকে এই প্লাগিনত অৱদান আগবঢ়াইছে।

অৱদানকাৰীসকল

“SimplePoTranslate” 1টা ভাষাত অনুবাদ কৰা হৈছে। অনুবাদকসকলক তেওঁলোকৰ অৱদানৰ বাবে ধন্যবাদ।

আপোনাৰ ভাষাত “SimplePoTranslate” অনুবাদ কৰক।

বিকাশৰ প্ৰতি আগ্ৰহী?

ক’ড ব্ৰাউজ কৰক, SVN ৰিপজিটৰী চাওক নাইবা RSS-দ্বাৰা বিকাশৰ পঞ্জী ছাবস্ক্ৰাইব কৰক।

সলনি-পঞ্জী

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.