WPMMCC ATS is a multilingual content translation manager for WordPress. It scans your installed plugins to discover translatable fields, builds translation rules, and provides a manual translation editor in the WordPress admin.
All features are free and fully functional. No license key, trial period, or payment is required to use any feature of this plugin.
/en_us/). A network subsite can be the target as well.This plugin can expose a REST API on your own WordPress site so an optional standalone translation client (a separate program you install) can pull work and push translations back. The plugin does not call www.wpmm.cc or any other remote host for this flow. Communication is only between the client and your site.
The client is NOT required. All plugin features work for manual translation without it.
This plugin does not contact www.wpmm.cc, wpmm.cc, or any other third-party remote server by itself. There is no hard-coded outbound HTTP request from the plugin to WPMMCC servers (language packs, license checks, telemetry, or similar).
The only optional network communication is between your WordPress site and an optional third-party program (the standalone translation client) that you install and run. In that case the client calls REST endpoints hosted on your site; the plugin only answers those requests. The plugin never initiates a connection to the client or to www.wpmm.cc.
What it is and what it is used for:
An optional self-hosted client can automate translation. When you enable the Client API in plugin settings and configure the client with your site URL, route secret, and client token, the client uses WordPress REST API routes under:
/wp-json/wptsall/v2/{route_secret}/client/...
{route_secret} is a site-generated path segment that obscures the client routes. All client routes require the header `X-WPTSALL-Client-Token` (token generated in wp-admin). Optional headers used by some routes: `X-WPTSALL-Protocol-Version`, `X-Client-Version`, `Idempotency-Key`, and (media upload only) media metadata headers listed below.
Communication happens only when:
1. An administrator enables the Client API and has a client token, AND
2. The optional client is running and configured to call this WordPress site.
What is not done by this plugin:
* No requests to www.wpmm.cc / wpmm.cc.
* No download of language packs from any remote host.
* No transmission of site content to WPMMCC or any translation service.
* This plugin does not call Google, DeepL, OpenAI, or any other translation API. If you configure such a provider in the optional client, that program sends the claimed source text to the endpoint you chose, with the API key you stored in the client. The provider’s own terms of service and privacy policy apply to that request. This plugin does not store that API key.
Documentation for the optional client (not called by this plugin):
* Client guide: https://www.wpmm.cc/docs/client-guide.html
* FAQ and privacy: https://www.wpmm.cc/docs/faq.html
* Client source: https://github.com/wpmmcc/wptsall-client
Base path: /wp-json/wptsall/v2/{route_secret}/client
Auth on every route below (unless noted): request header X-WPTSALL-Client-Token (and standard WordPress REST request metadata such as User-Agent / Accept).
GET /ping
{ success, data: { plugin_version, encryption_supported, sync_execution_mode, local_executor_enabled } }.GET /validate-token
{ success, data: { site_url, site_domain, plugin_version, site_status, max_relations, token_status, encryption_supported, active_relations_count, sync_execution_mode, wordpress_version } }.GET /site-relations
GET /rules
relation_id and/or model_id (at least one required); optional header X-Client-Version.GET /content
relation_id (required), data_type (post|term|language_pack|option), subtype, include_resync, page, per_page, optional include_ids (comma-separated object ids).complete_data (source post/term field values, or language-pack entry fields such as msgid/msgctxt/reference/text_domain, depending on data_type), plus totals/pagination.POST /content/claim
{ relation_id, data_type, items: [ { object_id, post_type|taxonomy|subtype, ... } ] } (for language packs, items identify entry ids).{ success, claimed_count, claimed_items } (or error). Marks items claimed so other workers avoid double work.POST /translation-callback
Idempotency-Key; JSON body including at least:
client_task_id, relation_id, business_line (e.g. post_content, taxonomy_content, custom_model, theme_i18n, plugin_i18n).object_type, object_id, source_lang, target_lang, translated_fields, translated_meta, optional media_mappings.entries array of { entry_id, msgstr } (and related entry fields as provided by the client).POST /media-upload
X-WPTSALL-Filename (required), optional X-WPTSALL-Task-ID, X-WPTSALL-Source-ID, X-WPTSALL-Relation-ID; raw binary body of the media file (allowed media MIME types only; executable/script types rejected).GET /tasks
status (pending|retry), limit.This plugin does not collect or store personal user data on external servers. All plugin data stays in your WordPress database on your hosting.
This plugin does not contact www.wpmm.cc. It does not download language packs from external servers.
If you use the optional translation client, that program talks only to your WordPress site via the Client API above. Any call from the client to a third-party translation provider is configured by you in the client, not by this plugin.
Optional product documentation (not called by this plugin):
* FAQ and privacy: https://www.wpmm.cc/docs/faq.html
* Client guide: https://www.wpmm.cc/docs/client-guide.html
* Client source: https://github.com/wpmmcc/wptsall-client
This plugin bundles no third-party libraries. It is plain PHP built on WordPress core APIs (REST, WPDB/dbDelta, cron, gettext), and its admin pages use vanilla JavaScript plus jQuery as shipped with WordPress core.
Interface translations use the WordPress.org translation system (translate.wordpress.org, GlotPress).
For field discovery the plugin reads data from third-party content plugins — WooCommerce, Elementor, ACF, Yoast SEO and more. Those projects are not bundled or modified. The plugin coexists with the multilingual plugins WPML and Polylang; no code from either project is used.