Title: Transleti Translator – Multilingual &amp; Automatic Translation
Author: TransLeti
Published: <strong>May 28, 2026</strong>
Last modified: June 28, 2026

---

Search plugins

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

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

# Transleti Translator – Multilingual & Automatic Translation

 By [TransLeti](https://profiles.wordpress.org/transleti/)

[Download](https://downloads.wordpress.org/plugin/transleti-translator.1.9.31.zip)

 * [Details](https://pcd.wordpress.org/plugins/transleti-translator/#description)
 * [Reviews](https://pcd.wordpress.org/plugins/transleti-translator/#reviews)
 *  [Installation](https://pcd.wordpress.org/plugins/transleti-translator/#installation)
 * [Development](https://pcd.wordpress.org/plugins/transleti-translator/#developers)

 [Support](https://wordpress.org/support/plugin/transleti-translator/)

## Description

**The plugin is 100% free and GPL.** You can run a fully multilingual WordPress 
site with manual translations, hreflang sitemap, language switcher and slug translation
without ever paying anything or connecting to an external service.

If you also want automatic translation across every language at once, connect the
optional Transleti API — flat-rate, unlimited words and languages, with a 7-day 
free trial. **No card or payment method is required to start the trial**, and **
the API is optional**: the manual workflow keeps working forever, including after
the trial ends, even if you never subscribe.

Transleti Translator handles posts, pages, custom post types, WooCommerce products,
menus, slugs, SEO meta, and theme strings. A built-in visual editor lets you click
on any text in the rendered page and refine its translation in a side-by-side panel—
useful both for polishing automatic translations and for translating everything 
by hand.

#### Two ways to use it

 * **Manual mode (free, forever)** — edit each translation directly in the WordPress
   post editor or via the visual front-end editor. No API key, no subscription, 
   no external connection required. Includes the language switcher, hreflang sitemap,
   slug translation and 49+ pre-defined language slots.
 * **Automatic mode (optional Transleti API)** — connect an API key and the plugin
   fans out translations to every target language in parallel. Flat-rate, unlimited
   words, 7-day free trial, no card required to start. If you decide not to subscribe
   after the trial, the plugin keeps working in manual mode. Manual edits on top
   of automatic translations are preserved on re-translation.

#### Features

 * **Free GPL plugin** — fully functional in manual mode without any external connection
   or paid service.
 * **Visual translation editor** — open any front-end page in an editor frame, click
   on any string (titles, paragraphs, menu items, buttons, image alts) and edit 
   its translation in a side panel with live preview.
 * **Manual translation editor** — review and refine translations directly in the
   WordPress post editor for every language.
 * **Optional unlimited automatic translation** — flat-rate Transleti API subscription,
   7-day free trial. No card or payment method required to start the trial; if you
   do not subscribe, the API simply stops at day 7 and the plugin keeps working 
   in manual mode.
 * **Parallel translation** (API mode) — requests fan out to every target language
   simultaneously. A site with 10 languages translates in roughly the same time 
   as a site with 1.
 * **Built on open source** — the plugin itself is GPL, fully auditable, no proprietary
   lock-in.
 * **Theme & builder-agnostic** — works out of the box with Elementor, Divi, Gutenberg,
   classic editor, GeneratePress and any standards-compliant theme.
 * **WooCommerce ready** — translates product titles, descriptions, attributes and
   variations.

#### Key features

 * **Multilingual sitemap with hreflang** — separate `<url>` entries per language(
   the format Google explicitly documents) with self-referential hreflang and `x-
   default`. Compatible with Yoast SEO, RankMath, SEOPress, AIOSEO and the WordPress
   core sitemap.
 * **SEO meta translation** — titles and descriptions for SEOPress, Yoast, AIOSEO
   and RankMath.
 * **Visual translation editor** — open any front-end page in an editor frame, click
   on any string (titles, paragraphs, menu items, buttons, image alts) and edit 
   its translation in a side panel with live preview.
 * **Manual translation editor** — review and refine translations directly in the
   WordPress post editor for every language.
 * **Manual edit protection** — your manual fixes survive re-translation cycles.
 * **Slug translation** — translated URLs (e.g. `/es/contacto/`) for clean per-language
   SEO.
 * **Menu translation** — duplicates and translates navigation menus per language.
 * **HTML entity and shortcode protection** — prevents corruption of `&copy;`, `[
   shortcode]`, and similar in translated output.
 * **Custom “do not translate” word list** — keep brand names, product codes and
   acronyms intact across all languages.
 * **Language switcher** — widget, block and shortcode in flag, dropdown or text
   styles.

#### Supported languages

49+ languages including English, Spanish, French, German, Italian, Portuguese (PT/
BR), Dutch, Polish, Romanian, Bulgarian, Hungarian, Finnish, Russian, Ukrainian,
Arabic, Hindi, Japanese, Korean, Chinese, Thai, Turkish, and more.

#### How it works

**Manual mode (free):**

 1. Install and activate the plugin.
 2. Choose your default language and the target languages you want to publish.
 3. For each post / page, open the translation editor (in the post editor sidebar or
    via the visual front-end editor) and type the translation by hand.
 4. The language switcher, hreflang sitemap and per-language slugs work out of the 
    box.

**Automatic mode (optional API):**

 1. Install and activate the plugin.
 2. Sign up at https://transleti.com to get your API key (7 days free, no card required;
    the API stops automatically at day 7 unless you choose to subscribe).
 3. Enter your Transleti API key in the plugin settings.
 4. Choose your default language and the languages you want to publish.
 5. The plugin runs a background job that translates posts, menus, slugs and SEO meta
    automatically.
 6. Optionally refine any translation manually from the WordPress post editor — your
    edits are preserved on re-translation.

### External Services

This plugin can optionally connect to the Transleti translation API (`api.transleti.
com`) to translate site content automatically into the languages you select. **This
connection is optional** — the plugin works in manual mode (typing translations 
by hand from the WordPress editor or the visual front-end editor) without contacting
any external service. No external request is made unless you enter an API key in
the plugin settings.

**What data is sent (only in automatic mode):** the text strings to translate (post
content, titles, excerpts, menu labels, slugs, SEO meta, theme strings) along with
the source and target language codes and your API key.

**When it is sent:** when the background translation cron runs, when you save a 
post that needs re-translation, or when you trigger a manual translation from the
settings page.

**Service provider:** Transleti — `https://transleti.com`

 * Terms of Service: https://transleti.com/terms
 * Privacy Policy: https://transleti.com/privacy

No personal data of site visitors is sent to the service. Only the text content 
you choose to translate.

## Screenshots

[⌊General settings — configure default language, URL structure, hreflang, slug translation
and the external cron service.⌉⌊General settings — configure default language, URL
structure, hreflang, slug translation and the external cron service.⌉[

General settings — configure default language, URL structure, hreflang, slug translation
and the external cron service.

[⌊Languages — add up to 49 target languages with custom slugs and per-language publish
toggles.⌉⌊Languages — add up to 49 target languages with custom slugs and per-language
publish toggles.⌉[

Languages — add up to 49 target languages with custom slugs and per-language publish
toggles.

[⌊Machine Translation — connect to the Transleti / LibreTranslate API and define
words or phrases that must stay untranslated.⌉⌊Machine Translation — connect to 
the Transleti / LibreTranslate API and define words or phrases that must stay untranslated
.⌉[

Machine Translation — connect to the Transleti / LibreTranslate API and define words
or phrases that must stay untranslated.

[⌊Language Switcher — floating selector, [transleti-switcher] shortcode and automatic
navigation menu integration with flags, dropdowns or text styles.⌉⌊Language Switcher—
floating selector, [transleti-switcher] shortcode and automatic navigation menu 
integration with flags, dropdowns or text styles.⌉[

Language Switcher — floating selector, [transleti-switcher] shortcode and automatic
navigation menu integration with flags, dropdowns or text styles.

[⌊Translation Process — per-language progress bars showing machine and human-reviewed
translation counts.⌉⌊Translation Process — per-language progress bars showing machine
and human-reviewed translation counts.⌉[

Translation Process — per-language progress bars showing machine and human-reviewed
translation counts.

[⌊Translations — review and edit every translated string per language; "Human reviewed"
edits are never overwritten by auto-translation.⌉⌊Translations — review and edit
every translated string per language; "Human reviewed" edits are never overwritten
by auto-translation.⌉[

Translations — review and edit every translated string per language; “Human reviewed”
edits are never overwritten by auto-translation.

[⌊Images — replace logos, infographics or any image with a localized version per
language.⌉⌊Images — replace logos, infographics or any image with a localized version
per language.⌉[

Images — replace logos, infographics or any image with a localized version per language.

[⌊Support — send a diagnostic report to Transleti with environment info, plugin 
settings and recent debug log lines.⌉⌊Support — send a diagnostic report to Transleti
with environment info, plugin settings and recent debug log lines.⌉[

Support — send a diagnostic report to Transleti with environment info, plugin settings
and recent debug log lines.

[⌊Visual Editor — click any text on the front-end and translate it from a live side
panel.⌉⌊Visual Editor — click any text on the front-end and translate it from a 
live side panel.⌉[

Visual Editor — click any text on the front-end and translate it from a live side
panel.

## Installation

 1. Upload the `transleti-translator` folder to `/wp-content/plugins/`, or install 
    through the WordPress plugin installer.
 2. Activate the plugin via the _Plugins_ menu in WordPress.
 3. Go to _Settings  Transleti Translator_.
 4. Select your default language and target languages.
 5. (Optional) Enter a Transleti API key to enable automatic translation. Without a
    key, you can still translate every string manually from the post editor or the 
    visual editor.
 6. Save settings.

## FAQ

### Do I need to pay anything to use this plugin?

No. The plugin is free GPL software and works fully in manual mode without any external
connection or paid subscription. Automatic translation is an optional add-on that
uses the Transleti API.

### Can I use the plugin without an API key?

Yes. Without an API key the plugin runs in manual mode: language switcher, per-language
slugs, hreflang sitemap and the manual / visual translation editors all work normally.
You simply type translations by hand instead of having the plugin generate them.

### Is there a free trial of the automatic translation API?

Yes. New accounts get 7 days of full access when you sign up at https://transleti.
com. **No card or payment method is required to start the trial.** After 7 days 
the API stops working unless you choose to subscribe — and even then, the plugin
itself keeps working in manual mode for free, so you never lose access to your translated
content.

### Is the plugin really fast even with many languages?

Yes. Translation requests for every target language are fanned out in parallel, 
so adding more languages does not multiply the wait time. A 10-language site translates
in roughly the same time window as a 2-language site.

### Does it work with WooCommerce?

Yes. Product titles, descriptions, short descriptions, attributes and variations
are all translated automatically.

### Does it support Elementor, Divi, Gutenberg and the classic editor?

Yes. Elementor pages translate the underlying `_elementor_data` JSON; Divi pages
translate the `et_pb_*` shortcode content and text attributes (headings, buttons,
CTAs, blurbs, tabs and more); Gutenberg parses blocks and translates innerHTML and
block attributes; classic posts translate `post_content` directly.

### Will Google index the translated pages correctly?

Yes. The plugin emits a separate `<url>` element per language in the sitemap (the
format Google explicitly documents), with bidirectional hreflang and `x-default`.
It also outputs `<link rel="alternate" hreflang="...">` tags in the HTML head.

### Can I edit translations manually?

Yes. There are two ways: (1) the visual editor, which lets you click on any string
in the rendered page and edit its translation in a side panel — useful for menus,
buttons, widgets and theme strings that don’t live in the post editor; and (2) each
translated post is a standard WordPress post you can edit from the admin like any
other content. Manual edits are detected and preserved during re-translation.

### What happens if I update the source post?

The plugin detects content changes via MD5 hashing and queues a re-translation. 
Manual edits to translations are detected and preserved (unless the source change
is structural).

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Transleti Translator – Multilingual & Automatic Translation” is open source software.
The following people have contributed to this plugin.

Contributors

 *   [ TransLeti ](https://profiles.wordpress.org/transleti/)
 *   [ Perfecto Ramón Bouso Alvarez ](https://profiles.wordpress.org/grupobouso/)

[Translate “Transleti Translator – Multilingual & Automatic Translation” into your language.](https://translate.wordpress.org/projects/wp-plugins/transleti-translator)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/transleti-translator/),
check out the [SVN repository](https://plugins.svn.wordpress.org/transleti-translator/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/transleti-translator/)
by [RSS](https://plugins.trac.wordpress.org/log/transleti-translator/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.9.31

 * Fix: a page whose SEO title or description can’t be machine-translated into a
   particular language (e.g. a brand-only or malformed title) no longer retries 
   forever or stays flagged as “blocked” — after a few attempts the page is finalized
   with the source-language text for that string, the same graceful give-up already
   used for individual dictionary entries.
 * Fix: the “translations blocked for over an hour” notice and its email digest 
   no longer list internal, non-public post types (e.g. WooCommerce support-ticket
   messages); stale entries are cleaned up automatically and remaining ones are 
   labelled clearly even when the item has no title.

#### 1.9.30

 * Improvement: when the higher-quality home and SEO translation is temporarily 
   unavailable, the translated home page is now held on the friendly “translation
   pending” page instead of being shown at lower machine-translation quality — so
   visitors and search engines never see a lower-quality home. It restores automatically
   as soon as the higher-quality translation is ready.

#### 1.9.29

 * Improvement: higher-quality automatic translation of the home page and its SEO
   fields (page title, meta description and navigation menus), for a stronger first
   impression and better search-engine and social previews on translated pages.
 * Fix: secondary languages could get stuck below 100%. Strings discovered while
   rendering one language are now propagated to every active language automatically,
   so low-traffic languages no longer lag behind; the per-language progress indicator
   is also more robust when one language happens to carry extra strings.
 * Fix: internal, non-public post types (for example WooCommerce support-ticket 
   messages) are no longer reported as “stuck” translations or held back by the “
   translation pending” page — only genuinely public pages are gated and crawled.
 * Fix: the logged-in admin toolbar is no longer captured as translatable content,
   keeping per-language string counts and progress accurate.
 * Fix: navigation menus now translate from the correct source menu, preventing 
   already-translated labels from being re-queued into the wrong language.
 * Fix: duplicate dictionary entries for the same source string are de-duplicated,
   so a stray automatic translation can no longer shadow a better one (menus and
   home strings render correctly).

#### 1.9.28

 * Fix: one-time recovery of SEO titles, descriptions and other strings that were
   left in the source language after an earlier translation-engine outage. Before
   1.9.27 a connection timeout could permanently flag pending strings as failed;
   those rows stayed excluded from the queue even after the engine recovered. On
   upgrade the plugin now requeues them automatically (runs once), so previously
   stuck translations complete on the next translation cycles. No action required.
 * Fix: API keys, JWT auth tokens and hash/digest strings (e.g. on account or API-
   key pages) are no longer queued for translation. They were never translatable,
   so the engine kept rejecting them and they piled up in the pending list. They
   are now detected and stored as-is, keeping the queue and the “pending strings”
   notice clean. Guarded so real text — including non-Latin scripts — is never affected.

#### 1.9.27

 * Fix: on translated pages the `<title>` could render empty and `<html lang>` could
   stay on the default language when an SEO plugin (e.g. Rank Math) built the document
   head before the language context was active. The output buffer now rewrites `
   <html lang>` to the current language and rebuilds an empty/missing `<title>` 
   from the translated title, so search engines never see a blank title on a translated
   page.
 * Fix: fatal TypeError in the Rank Math sitemap integration (`rankmath_sitemap_url()`
   received an array, not a string) that could break the Rank Math sitemap and its
   hreflang alternates. The handler now accepts both, matching the SEOPress integration.
 * Fix: the 503 “translation pending” page could fatal (and serve a raw 503 error
   instead of the friendly template) when triggered from the render layer, because
   it started a new output buffer inside the page output buffer. The pending page
   is now built as a string and renders correctly in every context.
 * Fix: a temporary translation-engine outage (connection timeout or server error)
   no longer counts against a string’s retry limit. Previously a few minutes of 
   downtime could permanently flag pending strings as failed, leaving them in the
   source language even after the engine recovered. Transient failures are now retried
   indefinitely; only genuine per-string rejections count toward the limit.
 * Fix: hardened the background translator against a missing source-language setting
   that could throw a fatal error on every cron run and silently stop all translation;
   it now falls back to the default source language.

#### 1.9.26

 * Doc: improved the WordPress.org listing title, tags and short description for
   better discoverability (no functional changes).

#### 1.9.25

 * SEO: the real composite page title (`Post - Site - Tagline`), og:title and meta
   description are now fetched from the rendered page and translated proactively
   in the background batch, before the first visit — so search engines and social
   previews never see an English title on a translated page. A render-side gate 
   holds a secondary-language page at 503 while its `<title>` is still untranslated,
   with a fail-open grace period so a title that never translates can’t strand the
   page.
 * Fix: homepage redirect loop on sites served over both www and non-www. Automatic
   language detection now reads the visitor’s current language from a host-agnostic
   signal instead of the rewritten request URI, so `www.` secondary-language pages
   no longer bounce in a redirect loop.
 * Fix: cookie-consent notice mistranslated in Urdu (ur) — the translation engine
   rendered “cookies” as پکوان (“food dishes”). A per-language term lock now forces
   the correct word (کوکیز) so the notice translates correctly, with a safeguard
   that falls back cleanly if the engine corrupts the protected term.

#### 1.9.24

 * UI: fixed vertical alignment of dashicons inside admin buttons on the plugin 
   settings page.
 * Doc: refreshed screenshots and captions for every plugin tab on the WordPress.
   org listing.

#### 1.9.23

 * Fix: WooCommerce Blocks cart / checkout — product short descriptions now translate
   correctly. WC Blocks pre-renders the cart server-side via a hydration path that
   bypasses the REST response filter; the plugin now hooks `woocommerce_hydration_request_after_callbacks`
   so hydrated responses are translated alongside live Store API calls.
 * Fix: WooCommerce Blocks Summary truncation — product short descriptions in cart/
   checkout are no longer clipped to ~15 characters on locales whose WordPress translation
   breaks the `Word count type. Do not translate!` hint (e.g. pt_BR returning “palavras”).
   Both the server-side `_x()` value and the client-side `wp.i18n` translation file
   entry are now sanitised back to a valid value.
 * Fix: Store API translation — WC Blocks calls `/wc/store/v1/*` without a language
   URL prefix from the localized React bundle. The plugin now falls back to `HTTP_REFERER`
   to detect the visitor’s current language so Store API responses match the page
   they were requested from.
 * Doc: readme repositioned to make clear the plugin is free and fully usable in
   manual mode; the Transleti API (automatic translation) is now described as optional.
 * Doc: trial messaging updated to reflect that the 7-day API trial no longer requires
   a card or payment method. After the trial, the API stops automatically unless
   you subscribe and the plugin keeps working in manual mode for free.

#### 1.9.22

 * Fix: per-language progress no longer gets stuck below 100% on mixed-script content.
   Dictionary rows now retire after 3 failed translation attempts (mirroring the
   existing gettext mechanism), so untranslatable strings stop blocking the percentage
   indicator.

#### 1.9.21

 * Fix: visual editor — clicks on theme menu items (GeneratePress, Astra, Divi, 
   Elementor Pro mega-menus, etc.) now open the translation panel reliably. Listener
   moved to `window` capture + `pointerdown` so theme menu togglers that call `stopPropagation()`
   can no longer swallow the selection click.

#### 1.9.20

 * Fix: visual editor now detects menu items in Hebrew, Greek, Hindi, Thai, Georgian
   and Armenian (menu translation now bails during preview so the renderer can add
   translatable markers regardless of script).
 * Fix: visual editor — clicking on a string with duplicated text on the same page(
   e.g. a heading and a menu link with the same label) now opens the translation
   panel for the selected occurrence.
 * Fix: ignore RSS feed `pubDate`/`lastBuildDate` strings in the “stuck translations”
   notice.
 * Improvement: automatic cleanup of orphan sentence segments left over from long-
   paragraph batching.

#### 1.9.x

 * New: visual translation editor — click any text in the rendered front-end and
   edit its translation in a live side panel. Works on menus, buttons, image alts
   and theme strings.
 * New: 49+ languages supported via the Transleti translation API.
 * New: HTML entity and shortcode protection across all translation entry points.
 * New: “Do not translate” word list (brand names, product codes, acronyms).
 * New: SEO meta translation for SEOPress, Yoast, AIOSEO and RankMath.
 * Improvement: manual edit protection — your manual fixes survive re-translation
   cycles.
 * Improvement: parallel translation across all target languages.

#### 1.4.4

 * Feature: drag-and-drop reordering of active languages in the Languages tab (also
   affects the language switcher order).
 * i18n: added 503 “pending translation” page strings for 16 additional languages(
   Lithuanian, Albanian, Azerbaijani, Basque, Bengali, Catalan, Esperanto, Galician,
   Irish, Kyrgyz, Latvian, Malay, Persian, Slovenian, Tagalog, Urdu).

#### 1.4.3

 * Compliance: wrapped `language_has_translations()` and `find_original_slug()` 
   direct `$wpdb` probes with `wp_cache_get` / `wp_cache_set` (5-minute TTL, `transleti`
   cache group).
 * Compliance: documented every legitimate direct DB call against core meta tables
   with `phpcs:ignore` comments explaining why the existing core API can’t replace
   them.

#### 1.4.2

 * Hardening: escaped flag-emoji output in the language switcher shortcode (`render_switcher`,`
   render_language_list`) via `esc_html()`.
 * Hardening: every `ob_start()` callback buffer is now explicitly closed via a 
   paired `ob_end_flush()` registered through `register_shutdown_function()` in 
   the same function scope (frontend page buffer, AJAX response buffer, sitemap 
   xhtml-namespace buffer).

#### 1.2.1

 * Hardening: replaced `fopen`/`fread`/`fclose` with `WP_Filesystem::get_contents()`
   for the diagnostic log reader.
 * Hardening: switched all custom-table existence checks to `$wpdb->prepare( 'SHOW
   TABLES LIKE %s', ... )` (no more single-quote interpolation).
 * Hardening: switched several `$_POST` reads on HTML-bearing fields to `wp_kses_post(
   wp_unslash( ... ) )`; integer reads now use `absint( wp_unslash( ... ) )`.
 * Hardening: added explicit nonce checks (`check_admin_referer`/`wp_nonce_url`)
   to the string-export download link.
 * Compliance: removed redundant `load_plugin_textdomain()` call (WP 4.6+ auto-loads
   translations from the WP.org directory).
 * Compliance: documented every legitimate direct-DB query (custom plugin tables)
   with localised `phpcs:disable`/`enable` blocks.

#### 1.2.0

 * Compliance: removed comparative/superlative marketing phrasing from the readme.
 * Compliance: extracted inline `<script>` blocks to enqueued JS files (language
   switcher, editor preview).
 * Hardening: all `$_GET` / `$_POST` / `$_SERVER` / `$_COOKIE` reads now go through`
   wp_unslash()` plus a context-appropriate sanitiser (`sanitize_text_field`, `esc_url_raw`).
 * Hardening: AJAX nonce check in `ajax_empty_language()` now unslashes and sanitises
   the nonce before passing it to `wp_verify_nonce()`.

#### 1.0.6

 * Removed redundant `load_plugin_textdomain()` call — translations are now auto-
   loaded by WordPress 4.6+ for plugins hosted in the directory.
 * Switched front-end language redirect from `wp_redirect()` to `wp_safe_redirect()`
   for additional protection against open-redirect attempts.
 * Defense-in-depth: explicit allowlist validation for the language storage key 
   before SQL identifier interpolation in the cache-clearing endpoint.
 * Packaging: included a `.pot` template in `languages/` so the Domain Path folder
   is present in the distributed package.

#### 1.0.5

 * New: separate `<url>` entry per language in the sitemap, matching Google’s documented
   hreflang format.
 * New: AIOSEO sitemap compatibility (`aioseo_sitemap_post`/`_term`/`_archive_entry`/`
   _addl_pages` filters).
 * Fix: `xmlns:xhtml` namespace now declared in `<urlset>` so `<xhtml:link>` alternates
   are valid XML.
 * Fix: `/sitemap.xml` no longer redirects to `/en/sitemap.xml` when `add_subdirectory_to_default
   =yes`.
 * Fix: sitemap `<loc>` URLs now use the canonical default-language URL instead 
   of the redirecting unprefixed permalink.
 * Fix: HTML head and sitemap hreflang codes now match exactly for bidirectional
   confirmation.

#### 1.0.4

 * Parallel translation crawling — O(1) in number of languages.
 * Render substitution fixes for raw `%1$s` placeholders and `[cookie_*]` shortcodes
   leaking to public pages.

#### 1.0.3

 * HTML entity and shortcode protection in all translation entry points.
 * “Do Not Translate” word list.
 * Manual edit protection improvements.

## Meta

 *  Version **1.9.31**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.0**
 *  PHP version ** 8.0 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/transleti-translator/)
 * Tags
 * [automatic translation](https://pcd.wordpress.org/plugins/tags/automatic-translation/)
   [multilingual](https://pcd.wordpress.org/plugins/tags/multilingual/)[translate](https://pcd.wordpress.org/plugins/tags/translate/)
   [translation](https://pcd.wordpress.org/plugins/tags/translation/)[woocommerce](https://pcd.wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://pcd.wordpress.org/plugins/transleti-translator/advanced/)

## Ratings

No reviews have been submitted yet.

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

[See all reviews](https://wordpress.org/support/plugin/transleti-translator/reviews/)

## Contributors

 *   [ TransLeti ](https://profiles.wordpress.org/transleti/)
 *   [ Perfecto Ramón Bouso Alvarez ](https://profiles.wordpress.org/grupobouso/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/transleti-translator/)