{"id":277332,"date":"2026-02-02T08:24:01","date_gmt":"2026-02-02T08:24:01","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/llm-automatic-translation\/"},"modified":"2026-10-22T06:48:51","modified_gmt":"2026-10-22T06:48:51","slug":"latw-ai-translator-for-wpml","status":"publish","type":"plugin","link":"https:\/\/kab.wordpress.org\/plugins\/latw-ai-translator-for-wpml\/","author":23441936,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"3.1.2","stable_tag":"3.1.2","tested":"7.1.3","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"LATW AI Translation for WPML","header_author":"Szymon Zawadzki","header_description":"Automatically translate WordPress content using OpenAI LLM with WPML integration.","assets_banners_color":"333333","last_updated":"2026-10-22 06:48:51","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/latw.ai\/","header_author_uri":"","rating":5,"author_block_rating":0,"active_installs":100,"downloads":5379,"num_ratings":5,"support_threads":2,"support_threads_resolved":2,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"szymon0zawadzki","date":"2026-02-02 08:53:19","revision":3451869},"1.1.1":{"tag":"1.1.1","author":"szymon0zawadzki","date":"2026-02-19 10:08:33","revision":3464971},"1.2.0":{"tag":"1.2.0","author":"szymon0zawadzki","date":"2026-03-04 08:25:02","revision":3474295},"1.3.0":{"tag":"1.3.0","author":"szymon0zawadzki","date":"2026-03-12 12:38:30","revision":3481146},"1.4.0":{"tag":"1.4.0","author":"szymon0zawadzki","date":"2026-03-19 10:12:03","revision":3486325},"1.4.1":{"tag":"1.4.1","author":"szymon0zawadzki","date":"2026-04-01 17:14:02","revision":3496857},"1.5.1":{"tag":"1.5.1","author":"szymon0zawadzki","date":"2026-04-14 09:14:32","revision":3505896},"1.5.5":{"tag":"1.5.5","author":"szymon0zawadzki","date":"2026-04-24 12:42:58","revision":3514645},"1.5.6":{"tag":"1.5.6","author":"szymon0zawadzki","date":"2026-05-06 08:39:23","revision":3524090},"1.6.0":{"tag":"1.6.0","author":"szymon0zawadzki","date":"2026-05-13 08:38:37","revision":3530712},"1.6.1":{"tag":"1.6.1","author":"szymon0zawadzki","date":"2026-05-21 07:50:52","revision":3541040},"1.6.2":{"tag":"1.6.2","author":"szymon0zawadzki","date":"2026-05-21 08:04:59","revision":3541078},"2.0.0":{"tag":"2.0.0","author":"szymon0zawadzki","date":"2026-05-29 11:04:41","revision":3553397},"2.0.1":{"tag":"2.0.1","author":"szymon0zawadzki","date":"2026-06-01 15:54:26","revision":3557003},"2.0.2":{"tag":"2.0.2","author":"szymon0zawadzki","date":"2026-06-01 15:58:04","revision":3557011},"2.0.3":{"tag":"2.0.3","author":"szymon0zawadzki","date":"2026-06-18 06:58:35","revision":3576688},"2.0.4":{"tag":"2.0.4","author":"szymon0zawadzki","date":"2026-07-10 13:21:34","revision":3602899},"2.0.5":{"tag":"2.0.5","author":"szymon0zawadzki","date":"2026-07-13 14:55:21","revision":3606271},"2.0.6":{"tag":"2.0.6","author":"szymon0zawadzki","date":"2026-07-24 16:07:22","revision":3621577},"2.0.7":{"tag":"2.0.7","author":"szymon0zawadzki","date":"2026-07-28 07:44:48","revision":3625554},"2.0.8":{"tag":"2.0.8","author":"szymon0zawadzki","date":"2026-07-31 12:40:24","revision":3630004},"2.0.9":{"tag":"2.0.9","author":"szymon0zawadzki","date":"2026-08-11 17:11:54","revision":3642315},"2.1.0":{"tag":"2.1.0","author":"szymon0zawadzki","date":"2026-08-17 11:13:10","revision":3651006},"2.2.0":{"tag":"2.2.0","author":"szymon0zawadzki","date":"2026-08-24 12:26:44","revision":3663408},"2.2.1":{"tag":"2.2.1","author":"szymon0zawadzki","date":"2026-08-26 07:46:29","revision":3666467},"2.2.2":{"tag":"2.2.2","author":"szymon0zawadzki","date":"2026-08-27 08:31:20","revision":3668357},"2.2.3":{"tag":"2.2.3","author":"szymon0zawadzki","date":"2026-08-31 07:39:49","revision":3673578},"2.2.4":{"tag":"2.2.4","author":"szymon0zawadzki","date":"2026-09-03 11:04:42","revision":3679597},"3.0.0":{"tag":"3.0.0","author":"szymon0zawadzki","date":"2026-09-15 17:02:08","revision":3697423},"3.0.1":{"tag":"3.0.1","author":"szymon0zawadzki","date":"2026-09-18 10:44:51","revision":3701818},"3.0.2":{"tag":"3.0.2","author":"szymon0zawadzki","date":"2026-09-24 13:40:52","revision":3711413},"3.0.3":{"tag":"3.0.3","author":"szymon0zawadzki","date":"2026-09-26 08:42:32","revision":3714013},"3.0.4":{"tag":"3.0.4","author":"szymon0zawadzki","date":"2026-10-07 12:05:40","revision":3732530},"3.0.5":{"tag":"3.0.5","author":"szymon0zawadzki","date":"2026-10-09 16:12:35","revision":3737048},"3.0.6":{"tag":"3.0.6","author":"szymon0zawadzki","date":"2026-10-12 13:32:11","revision":3741723},"3.1.0":{"tag":"3.1.0","author":"szymon0zawadzki","date":"2026-10-14 11:22:17","revision":3746157},"3.1.1":{"tag":"3.1.1","author":"szymon0zawadzki","date":"2026-10-21 06:55:03","revision":3757821},"3.1.2":{"tag":"3.1.2","author":"szymon0zawadzki","date":"2026-10-22 06:48:51","revision":3759420}},"upgrade_notice":{"3.1.1":"<p>If your Gemini key starts with &quot;AQ.&quot; and was reported as invalid, paste it again in Settings after updating.<\/p>","3.0.5":"<p>If you use the Pro add-on with OpenAI or Gemini, translations now use the model you selected in Settings instead of the default one. If that model costs more per token, so will your translations \u2014 check your Model setting after updating.<\/p>","3.0.0":"<p>The Pro version is now an add-on that runs alongside this plugin instead of replacing it. If you use the free plugin only, nothing changes and no action is needed. If you have Pro, update it too: it will offer to install this plugin for you, and your translations, settings and licence are carried over untouched.<\/p>","2.2.0":"<p>Every language configured in WPML is now available in the free version, and MyMemory joins as a free engine that needs no API key. No settings changes needed.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":5},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3663424,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3663424,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3663424,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3663424,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0","1.1.1","1.2.0","1.3.0","1.4.0","1.4.1","1.5.1","1.5.5","1.5.6","1.6.0","1.6.1","1.6.2","2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8","2.0.9","2.1.0","2.2.0","2.2.1","2.2.2","2.2.3","2.2.4","3.0.0","3.0.1","3.0.2","3.0.3","3.0.4","3.0.5","3.0.6","3.1.0","3.1.1","3.1.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3663424,"resolution":"1","location":"assets","locale":"","width":1904,"height":963},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3663424,"resolution":"2","location":"assets","locale":"","width":1904,"height":963},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3663424,"resolution":"3","location":"assets","locale":"","width":1904,"height":963},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3663424,"resolution":"4","location":"assets","locale":"","width":1904,"height":963}},"screenshots":{"1":"Translation Management screen","2":"Pick your engine and model","3":"Batch-translate WPML interface, theme and plugin strings in one pass","4":"Translation history: what was sent, what came back, and what each job cost"}},"plugin_section":[],"plugin_tags":[220668,12519,279010,4318,103],"plugin_category":[48],"plugin_contributors":[255069],"plugin_business_model":[],"class_list":["post-277332","plugin","type-plugin","status-publish","hentry","plugin_tags-ai-translation","plugin_tags-automatic-translation","plugin_tags-llm-translation","plugin_tags-machine-translation","plugin_tags-wpml","plugin_category-language-tools","plugin_contributors-szymon0zawadzki","plugin_committers-szymon0zawadzki"],"banners":{"banner":"https:\/\/ps.w.org\/latw-ai-translator-for-wpml\/assets\/banner-772x250.png?rev=3663424","banner_2x":"https:\/\/ps.w.org\/latw-ai-translator-for-wpml\/assets\/banner-1544x500.png?rev=3663424","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/latw-ai-translator-for-wpml\/assets\/icon-128x128.png?rev=3663424","icon_2x":"https:\/\/ps.w.org\/latw-ai-translator-for-wpml\/assets\/icon-256x256.png?rev=3663424","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/latw-ai-translator-for-wpml\/assets\/screenshot-1.png?rev=3663424","caption":"Translation Management screen"},{"src":"https:\/\/ps.w.org\/latw-ai-translator-for-wpml\/assets\/screenshot-2.png?rev=3663424","caption":"Pick your engine and model"},{"src":"https:\/\/ps.w.org\/latw-ai-translator-for-wpml\/assets\/screenshot-3.png?rev=3663424","caption":"Batch-translate WPML interface, theme and plugin strings in one pass"},{"src":"https:\/\/ps.w.org\/latw-ai-translator-for-wpml\/assets\/screenshot-4.png?rev=3663424","caption":"Translation history: what was sent, what came back, and what each job cost"}],"raw_content":"<!--section=description-->\n<p><a href=\"https:\/\/latw.ai\/latw-ai-translator-for-wpml\/\">LATW AI Translation for WPML<\/a> adds an AI translator to the WPML Translation Management workflow you already use.<\/p>\n\n<p>WPML keeps doing what it does today: language switching, translation jobs, string translation, the whole multilingual structure of your site. This plugin registers one additional translator inside that pipeline and lets it do the actual translating, using the AI model or translation engine you pick.<\/p>\n\n<p>https:\/\/youtu.be\/iqlw5al1G4Q<\/p>\n\n<h4>You bring your own API key<\/h4>\n\n<p>WPML's built-in automatic translation is billed in WPML credits. This plugin works differently. You connect your own provider key, and every request goes straight from your WordPress server to OpenAI, Google, Anthropic or DeepL, at their published rates, with nothing added on top by us.<\/p>\n\n<p><strong>A real example.<\/strong> Translating 30 articles into 3 languages costs <strong>\u20ac386.00<\/strong> in WPML Automatic Translation credits. The same job, through this plugin with GPT-5.4 nano, costs <strong>$0.45<\/strong>. Same content, same WPML workflow, <strong>over 99% off the bill<\/strong>.<\/p>\n\n<p>Nothing passes through our servers, and no content is stored outside your site and your chosen provider. You are responsible for your own provider billing and usage limits.  The one exception is LATW Cloud, an optional engine you connect yourself: it translates on LATW's servers instead.<\/p>\n\n<h4>How it plugs into WPML<\/h4>\n\n<p>On activation the plugin creates a dedicated virtual translator user, <strong>latwaitr_ai_bot<\/strong>, shown in WPML as \"LATW AI Translator\", and registers it with WPML as a local translator for your active language pairs.<\/p>\n\n<p>Assign content to that translator on WPML's Translation Management screen and the plugin picks the job up automatically, translates it with your chosen engine, and hands the result back through WPML's own pipeline.<\/p>\n\n<p>The practical consequence: <strong>if WPML can send it for translation, this plugin can translate it.<\/strong> Posts, pages, custom post types, taxonomies, strings, page-builder layouts, third-party integrations. The plugin does not reinvent translation routing, it rides WPML's.<\/p>\n\n<h4>Who it is for<\/h4>\n\n<ul>\n<li>Agencies running client sites on WPML that want translation cost moved off the invoice and onto a metered API key<\/li>\n<li>Site owners with a few hundred pages, where credit-based pricing stops making sense<\/li>\n<li>Anyone who needs translated content to travel between their own server and one named provider, with no intermediary in between<\/li>\n<\/ul>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Deep WPML integration<\/strong> \u2014 runs entirely through WPML's Translation Management pipeline via a dedicated AI translator user<\/li>\n<li><strong>Six engines, your choice<\/strong> \u2014 MyMemory, Google Translate, OpenAI, Gemini, and in Pro also Claude and DeepL<\/li>\n<li><strong>LATW Cloud<\/strong> \u2014 connect the site to LATW Cloud and translate on external servers: no WP-Cron needed, no translation load on your site, and no API key required<\/li>\n<li><strong>Your own model, or any OpenAI-compatible API<\/strong> \u2014 point the plugin at a model you host yourself, or at a gateway such as OpenRouter or Groq, and translate through it <em>(Pro)<\/em><\/li>\n<li><strong>String Translation<\/strong> \u2014 batch-translate interface, theme and plugin strings from WPML String Translation<\/li>\n<li><strong>Page builder support<\/strong> \u2014 full support for Elementor and Bricks Builder; other WPML-compatible builders should work but are not officially tested<\/li>\n<li><strong>ACF support<\/strong> \u2014 translates Advanced Custom Fields content<\/li>\n<li><strong>Taxonomy translation<\/strong> \u2014 a dedicated screen for categories, tags and custom taxonomies, with per-term status<\/li>\n<li><strong>SEO metadata<\/strong> \u2014 Yoast SEO, Rank Math, SEOPress and All in One SEO titles and descriptions<\/li>\n<li><strong>Website context<\/strong> \u2014 describe your site once and every LLM translation is done with that context in mind<\/li>\n<li><strong>Cost tracking<\/strong> \u2014 every completed job records what it actually cost, priced against the engine that produced it<\/li>\n<li><strong>Translation history<\/strong> \u2014 review any past translation, inspect what was sent and what came back, track status over time<\/li>\n<li><strong>Custom prompt and glossary<\/strong> \u2014 control tone, register and terminology, and lock specific terms to specific translations <em>(Pro)<\/em><\/li>\n<li><strong>Processing modes<\/strong> \u2014 translate synchronously for immediate results, or send jobs to the provider's Batch API for roughly half the price<\/li>\n<li><strong>Automatic translation<\/strong> \u2014 automatically start a translation when creating posts of a selected type <em>(Pro)<\/em><\/li>\n<li><strong>Translate from a chat with Claude or ChatGPT (MCP)<\/strong> \u2014 connect your site once and ask your assistant to translate a post, page or product; it runs inside the subscription you already pay for, with no API key and no per-token cost, and saves the result as a WPML-linked translation <em>(Pro)<\/em><\/li>\n<li><strong>Re-translate only changes<\/strong> \u2014 edit one paragraph, pay for one paragraph instead of the whole page <em>(Pro)<\/em><\/li>\n<li><strong>Bulk translation<\/strong> \u2014 queue dozens of posts for translation in a single action instead of one at a time <em>(Pro)<\/em><\/li>\n<li><strong>WooCommerce<\/strong> \u2014 product attribute taxonomies, variations and shop-specific data <em>(Pro)<\/em><\/li>\n<\/ul>\n\n<h4>Free vs Pro<\/h4>\n\n<p>The free version is not a trial. It translates unlimited content into every language configured in WPML, permanently.<\/p>\n\n<p><strong>Free<\/strong><\/p>\n\n<ul>\n<li>Unlimited translations, all WPML languages<\/li>\n<li>Posts, pages and custom post types<\/li>\n<li>Elementor, Bricks and ACF<\/li>\n<li>WPML String Translation<\/li>\n<li>Taxonomy translation<\/li>\n<li>SEO metadata<\/li>\n<li>Translation history and cost tracking<\/li>\n<li>All processing modes, including Batch at roughly half price<\/li>\n<li>Engines: MyMemory, Google Translate, OpenAI GPT-6 luna and GPT-5.4 nano, Gemini 3.5 Flash Lite<\/li>\n<li>LATW Cloud<\/li>\n<\/ul>\n\n<p><strong>Pro<\/strong><\/p>\n\n<p>Everything in free, plus:<\/p>\n\n<ul>\n<li>Automatic translation<\/li>\n<li>MCP \u2014 translate from a chat with Claude or ChatGPT, no API key and no extra token cost<\/li>\n<li>Bulk translation \u2014 queue many posts at once<\/li>\n<li>Re-translate only changes<\/li>\n<li>Custom translation prompt<\/li>\n<li>Glossary<\/li>\n<li>WooCommerce support<\/li>\n<li>Engines: Claude Opus 5.5, Sonnet 5 and Haiku 4.5; DeepL; OpenAI GPT-6 Sol, GPT-6 Terra, GPT-5.5 and more; Gemini 3.8 Flash, 3.7 Flash and more<\/li>\n<li>Your own model, or any OpenAI-compatible API \u2014 a model on your own server, OpenRouter, Groq<\/li>\n<li>Premium support<\/li>\n<\/ul>\n\n<p><a href=\"https:\/\/latw.ai\/latw-ai-translator-for-wpml\/\">Upgrade to Pro<\/a><\/p>\n\n<h4>Supported content<\/h4>\n\n<ul>\n<li>Post titles, content and excerpts<\/li>\n<li>Custom post types<\/li>\n<li>Elementor and Bricks Builder widgets and modules<\/li>\n<li>ACF fields<\/li>\n<li>WPML String Translation strings<\/li>\n<li>Yoast SEO, Rank Math, SEOPress and All in One SEO metadata<\/li>\n<li>Categories and custom taxonomies<\/li>\n<li>WooCommerce products, attributes and variations <em>(Pro)<\/em><\/li>\n<li>Anything else WPML is able to send for translation<\/li>\n<\/ul>\n\n<h4>Translation engines<\/h4>\n\n<p>Six engines, split into two kinds, plus any endpoint of your own, or LATW Cloud. Language models read the whole page, follow your prompt and your website description, and handle nuance. Machine translation engines are faster and cheaper per word but take no instructions, because there is nothing to instruct.<\/p>\n\n<p><strong>Language models<\/strong><\/p>\n\n<ul>\n<li><strong>OpenAI<\/strong> \u2014 GPT-6 luna and GPT-5.4 nano in free; GPT-6 Sol, GPT-6 Terra, GPT-5.5 and more in Pro<\/li>\n<li><strong>Google Gemini<\/strong> \u2014 Gemini 3.5 Flash Lite in free; Gemini 3.7 Flash, 3.6 Flash and more in Pro<\/li>\n<li><strong>Anthropic Claude<\/strong> \u2014 Opus 5.5, Sonnet 5 and Haiku 4.5 <em>(Pro)<\/em><\/li>\n<\/ul>\n\n<p><strong>Machine translation<\/strong><\/p>\n\n<ul>\n<li><strong>Google Translate<\/strong> \u2014 Neural Machine Translation, billed per character<\/li>\n<li><strong>DeepL<\/strong> \u2014 billed per character <em>(Pro)<\/em><\/li>\n<li><strong>MyMemory<\/strong> \u2014 translation memory with machine translation fallback, free within a daily quota<\/li>\n<\/ul>\n\n<p><strong>Your own endpoint<\/strong> <em>(Pro)<\/em><\/p>\n\n<ul>\n<li>Any API that speaks OpenAI's chat format: a model you host yourself (Ollama, vLLM, LM Studio, llama.cpp), or a gateway such as OpenRouter or Groq. You enter the address, the model name and what it costs.<\/li>\n<\/ul>\n\n<p>Each engine stores its own API key and model separately, so switching between them, and back again, costs you nothing in reconfiguration.<\/p>\n\n<h4>LATW Cloud<\/h4>\n\n<p>With <a href=\"https:\/\/latw.ai\/cloud\/\">LATW Cloud<\/a>, your server doesn't call an AI provider or wait for WP-Cron to collect the answer. LATW's servers read the text from your site, translate it and write the translation back, so long pages and large batches no longer depend on your host's timeouts or on WP-Cron.<\/p>\n\n<p>LATW Cloud is a good fit if:<\/p>\n\n<ul>\n<li>you don't want to create an account with an AI provider or generate your own API key (pay with LATW Credits instead),<\/li>\n<li>WP-Cron doesn't run reliably on your site,<\/li>\n<li>your server is small and you don't want translations to load it,<\/li>\n<li>you want to manage translations for several sites from one dashboard.<\/li>\n<\/ul>\n\n<p><strong>Connecting.<\/strong> Under AI Translator \u2192 Settings \u2192 General, pick LATW Cloud as the engine and click Connect with LATW. A window opens where you sign in to your LATW account and authorize the site. The plugin does the rest and checks that LATW Cloud can reach your site. No Pro licence is needed.<\/p>\n\n<p><strong>Requirements.<\/strong> The site must be reachable from the internet. If a security plugin, firewall or password protection blocks access, LATW Cloud tells you when you connect or click Test connection.<\/p>\n\n<p><strong>Your data.<\/strong> LATW Cloud does not store your source texts. They are processed only while a translation is running. Finished translations are written straight back to your site. A translation is stored on LATW's servers only when your site can't be reached at that moment. In that case it is kept for up to 7 days until it can be delivered, and then deleted.<\/p>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 6.2 or higher<\/li>\n<li>PHP 7.4 or higher<\/li>\n<li><a href=\"https:\/\/wpml.org\/\">WPML<\/a> \u2014 required, this is an add-on and not a standalone translation plugin<\/li>\n<li>An API key for the engine you choose. MyMemory needs none, and neither does a model you host yourself, or LATW Cloud needs a LATW account instead.<\/li>\n<\/ul>\n\n<h4>Third-Party Services<\/h4>\n\n<p>Content is sent only to the engine you selected in the plugin settings, and only when you start a translation. Nothing is sent without your action, and every request goes directly from your WordPress server to that provider \u2014 except with LATW Cloud, described last, where LATW's servers do the translating.<\/p>\n\n<p><strong>OpenAI API<\/strong><\/p>\n\n<ul>\n<li>Service URL: <a href=\"https:\/\/api.openai.com\/\">https:\/\/api.openai.com\/<\/a><\/li>\n<li>Privacy Policy: <a href=\"https:\/\/openai.com\/privacy\/\">https:\/\/openai.com\/privacy\/<\/a><\/li>\n<li>Terms of Use: <a href=\"https:\/\/openai.com\/terms\/\">https:\/\/openai.com\/terms\/<\/a><\/li>\n<\/ul>\n\n<p><strong>Google Gemini API<\/strong><\/p>\n\n<ul>\n<li>Service URL: <a href=\"https:\/\/generativelanguage.googleapis.com\/\">https:\/\/generativelanguage.googleapis.com\/<\/a><\/li>\n<li>Privacy Policy: <a href=\"https:\/\/policies.google.com\/privacy\">https:\/\/policies.google.com\/privacy<\/a><\/li>\n<li>Terms of Use: <a href=\"https:\/\/ai.google.dev\/gemini-api\/terms\">https:\/\/ai.google.dev\/gemini-api\/terms<\/a><\/li>\n<\/ul>\n\n<p><strong>Google Cloud Translation API<\/strong><\/p>\n\n<ul>\n<li>Service URL: <a href=\"https:\/\/translation.googleapis.com\/\">https:\/\/translation.googleapis.com\/<\/a><\/li>\n<li>Privacy Policy: <a href=\"https:\/\/policies.google.com\/privacy\">https:\/\/policies.google.com\/privacy<\/a><\/li>\n<li>Terms of Use: <a href=\"https:\/\/cloud.google.com\/terms\">https:\/\/cloud.google.com\/terms<\/a><\/li>\n<\/ul>\n\n<p><strong>MyMemory (Translated S.r.l.)<\/strong><\/p>\n\n<ul>\n<li>Service URL: <a href=\"https:\/\/api.mymemory.translated.net\/\">https:\/\/api.mymemory.translated.net\/<\/a><\/li>\n<li>Privacy Policy and Terms of Use: <a href=\"https:\/\/mymemory.translated.net\/terms-and-conditions\">https:\/\/mymemory.translated.net\/terms-and-conditions<\/a><\/li>\n<li>Usage limits: <a href=\"https:\/\/mymemory.translated.net\/doc\/usagelimits.php\">https:\/\/mymemory.translated.net\/doc\/usagelimits.php<\/a><\/li>\n<\/ul>\n\n<p><strong>LATW Cloud<\/strong><\/p>\n\n<ul>\n<li>Service URL: <a href=\"https:\/\/app.latw.ai\/\">https:\/\/app.latw.ai\/<\/a><\/li>\n<li>Privacy Policy: <a href=\"https:\/\/llm-automatic-translation.top\/privacy-policy\/\">https:\/\/llm-automatic-translation.top\/privacy-policy\/<\/a><\/li>\n<li>Terms of Use: <a href=\"https:\/\/llm-automatic-translation.top\/terms-of-service\/\">https:\/\/llm-automatic-translation.top\/terms-of-service\/<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<h4>Quick start<\/h4>\n\n<ol>\n<li>Install and activate LATW AI Translation for WPML<\/li>\n<li>Go to <strong>AI Translator &gt; Settings<\/strong>, choose an engine and paste its API key. Starting with MyMemory needs no key at all.\n2.5. Optionally write a short website description, so the language model knows what kind of site it is translating<\/li>\n<li>Open <strong>Translations<\/strong> page, select your content, and translate it.<\/li>\n<\/ol>\n\n<p>The plugin picks the job up from there and returns the finished translation through WPML. Check <strong>Translation History<\/strong> to see what was sent, what came back, and what it cost.<\/p>\n\n<h4>Adding Pro<\/h4>\n\n<p>Pro is a separate add-on plugin that runs alongside this one. Install this plugin first, then upload the Pro .zip under <strong>Plugins &gt; Add New &gt; Upload Plugin<\/strong> and activate it. The extra engines, the glossary and automatic translation appear on the screens you already know \u2014 there is no second settings page and nothing to migrate.<\/p>\n\n<h4>Where to get an API key<\/h4>\n\n<p>The settings screen links straight to the right page for each engine, with step-by-step instructions:<\/p>\n\n<ul>\n<li>OpenAI \u2014 <a href=\"https:\/\/platform.openai.com\/api-keys\">platform.openai.com\/api-keys<\/a><\/li>\n<li>Google Gemini \u2014 <a href=\"https:\/\/aistudio.google.com\/apikey\">aistudio.google.com\/apikey<\/a><\/li>\n<li>Google Translate \u2014 a Google Cloud API key with the Cloud Translation API enabled<\/li>\n<li>Anthropic Claude <em>(Pro)<\/em> \u2014 <a href=\"https:\/\/console.anthropic.com\/\">console.anthropic.com<\/a><\/li>\n<li>DeepL <em>(Pro)<\/em> \u2014 <a href=\"https:\/\/www.deepl.com\/pro-api\">deepl.com\/pro-api<\/a><\/li>\n<li>Custom endpoint <em>(Pro)<\/em> \u2014 whatever your provider issues, for example <a href=\"https:\/\/openrouter.ai\/keys\">openrouter.ai\/keys<\/a> or <a href=\"https:\/\/console.groq.com\/keys\">console.groq.com\/keys<\/a>; a model on your own server usually needs no key<\/li>\n<li>MyMemory \u2014 no key required<\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20wpml%3F\"><h3>Do I need WPML?<\/h3><\/dt>\n<dd><p>Yes. This is an add-on for <a href=\"https:\/\/wpml.org\/\">WPML<\/a>, not a standalone translation plugin. It extends WPML with AI-powered automatic translation and does nothing without it.<\/p><\/dd>\n<dt id=\"how%20is%20this%20different%20from%20wpml%27s%20own%20automatic%20translation%3F\"><h3>How is this different from WPML's own automatic translation?<\/h3><\/dt>\n<dd><p>WPML bills automatic translation in WPML credits, purchased from WPML. This plugin bills nothing at all: you connect your own provider key and the provider charges you directly at their list price. There is no markup and no intermediary. In exchange you manage your own API account and your own spending limits.<\/p>\n\n<p>The one exception is LATW Cloud, if you choose to connect it. Then you pay for translation in LATW Credits instead of keeping your own provider account, or you use your own API key in LATW Cloud.<\/p><\/dd>\n<dt id=\"is%20my%20content%20sent%20anywhere%20else%3F\"><h3>Is my content sent anywhere else?<\/h3><\/dt>\n<dd><p>No. Content goes from your server to the engine you selected and back. It does not pass through our servers, and we neither see nor store it. The exception is the optional LATW Cloud engine, if you connect it: LATW's servers then read the text from your site, have it translated by the AI model chosen for the site and write the translation back. Source texts are not stored. A translation is kept on LATW's servers only while your site can't be reached to receive it, for up to 7 days (see LATW Cloud above).<\/p><\/dd>\n<dt id=\"what%20can%20i%20do%20with%20the%20free%20version%3F\"><h3>What can I do with the free version?<\/h3><\/dt>\n<dd><p>Translate unlimited content into every language configured in WPML, using MyMemory, Google Translate, OpenAI GPT-6 luna, GPT-5.4 nano or Gemini 3.5 Flash Lite, or connect LATW Cloud. Posts, custom post types, taxonomies, ACF, Elementor, Bricks, SEO metadata and WPML strings are all included. It is not a trial and it does not expire.<\/p><\/dd>\n<dt id=\"how%20much%20does%20translation%20actually%20cost%3F\"><h3>How much does translation actually cost?<\/h3><\/dt>\n<dd><p>It depends on the engine and the volume. Language models bill per token, Google Translate and DeepL bill per character, MyMemory is free within its quota.<\/p>\n\n<p>Rough guide for a single 1,000-word page:<\/p>\n\n<ul>\n<li>OpenAI GPT-5.4 nano \u2014 under $0.01<\/li>\n<li>Gemini 3.5 Flash Lite \u2014 under $0.01<\/li>\n<li>Google Translate \u2014 $20 per million characters<\/li>\n<li>MyMemory \u2014 free, within its daily quota<\/li>\n<li>Batch mode \u2014 roughly half the synchronous price<\/li>\n<\/ul>\n\n<p>For a full project: 30 articles into 3 languages runs to \u20ac386.00 in WPML Automatic Translation credits, against $0.45 with GPT-5.4 nano through this plugin.<\/p>\n\n<p>LATW Cloud prices each job by the number of words and charges it in LATW Credits, or your provider bills you directly if you use your own API key in LATW Cloud. Current prices are at <a href=\"https:\/\/latw.ai\/cloud\/\">latw.ai\/cloud<\/a>.<\/p><\/dd>\n<dt id=\"which%20engine%20should%20i%20choose%3F\"><h3>Which engine should I choose?<\/h3><\/dt>\n<dd><p>If quality on nuanced content matters most, use a language model. It sees the whole page, follows the translation prompt and your website description, and keeps tone consistent. If you are pushing large volumes of straightforward text and cost is the priority, Google Translate and DeepL are cheaper and faster, and MyMemory is free within its daily quota. If you don't want to manage an API key, WP-Cron is unreliable on your host or your server is small, choose LATW Cloud.<\/p><\/dd>\n<dt id=\"can%20i%20switch%20engines%20later%3F\"><h3>Can I switch engines later?<\/h3><\/dt>\n<dd><p>Yes, at any time. Each engine keeps its own key and model setting, so switching back does not mean re-entering anything.<\/p>\n\n<p>While the site is connected to LATW Cloud, the Engine setting is locked to it. To use another engine, click Disconnect under AI Translator \u2192 Settings \u2192 General (or disconnect the site in LATW Cloud). The engine you used before connecting comes back, with its key and settings unchanged.<\/p><\/dd>\n<dt id=\"do%20google%20translate%2C%20deepl%20and%20mymemory%20use%20the%20prompt%3F\"><h3>Do Google Translate, DeepL and MyMemory use the prompt?<\/h3><\/dt>\n<dd><p>No. They ignore the translation prompt, the website description and the reasoning effort setting. They are translation engines rather than language models, so there is nothing to prompt.<\/p><\/dd>\n<dt id=\"can%20i%20customise%20the%20translation%20prompt%3F\"><h3>Can I customise the translation prompt?<\/h3><\/dt>\n<dd><p>In the free version the prompt is fixed and shown read-only on the Settings page, but you can add a website description that is passed to the model with every translation. A fully editable prompt, along with a glossary for locking specific terms, is a Pro feature.<\/p>\n\n<p>With LATW Cloud, the prompt, the glossary and the website description are set for the site in LATW Cloud instead, and their fields here link there.<\/p><\/dd>\n<dt id=\"what%20are%20the%20processing%20modes%3F\"><h3>What are the processing modes?<\/h3><\/dt>\n<dd><p><strong>Synchronous<\/strong> waits for the provider and fills in the translation in the same run. Fastest feedback, full price.<\/p>\n\n<p><strong>Background<\/strong> is OpenAI-only. It finishes in minutes without holding a long request open, and is the default where available.<\/p>\n\n<p><strong>Batch<\/strong> sends the job to the provider's Batch API for roughly half the price and collects it when ready, usually within the hour, though providers only guarantee a 24-hour window.<\/p>\n\n<p>All three modes are available in the free version. Google Translate, DeepL and MyMemory run synchronously only, because they have no Batch API. That is safe even for long posts, since their content is split into many small requests.<\/p>\n\n<p>With LATW Cloud there is no processing mode to choose: LATW's servers run the translation, so the setting is hidden.<\/p><\/dd>\n<dt id=\"what%20is%20bulk%20translation%2C%20and%20how%20is%20it%20different%20from%20batch%20mode%3F\"><h3>What is bulk translation, and how is it different from Batch mode?<\/h3><\/dt>\n<dd><p>They solve different problems and the names are easy to confuse.<\/p>\n\n<p><strong>Batch mode<\/strong> is about <em>price<\/em>: a single job is sent to the provider's Batch API instead of being translated immediately, and comes back at roughly half the cost. Available to everyone.<\/p>\n\n<p><strong>Bulk translation<\/strong> <em>(Pro)<\/em> is about <em>volume<\/em>: you select dozens of posts and queue them all for translation in one action, rather than assigning them one at a time. It works with any processing mode.<\/p><\/dd>\n<dt id=\"can%20i%20translate%20from%20a%20chat%20with%20claude%20or%20chatgpt%3F\"><h3>Can I translate from a chat with Claude or ChatGPT?<\/h3><\/dt>\n<dd><p>Yes, with Pro. Pro includes an MCP server: connect your site once to Claude or ChatGPT, then ask the assistant to translate a post, page or product. It reads the content through WPML, translates it inside the subscription you already have, so there is no API key and no per-token charge, and publishes the result as a WPML-linked translation with blocks and internal links intact. The free version does not include MCP.<\/p>\n\n<p>While the site is connected to LATW Cloud, the MCP server and Pro's automatic translation are switched off. Their settings are kept, and they work again after you disconnect.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20woocommerce%3F\"><h3>Does it work with WooCommerce?<\/h3><\/dt>\n<dd><p>WooCommerce support is a Pro feature. Products are ordinary posts as far as WPML is concerned, so the free version translates whatever WPML hands over, but it has no shop-specific handling: no product attribute taxonomies (<code>pa_*<\/code>), no variations, no other WooCommerce data. Pro adds that handling and supports it.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20page%20builders%3F\"><h3>Does it work with page builders?<\/h3><\/dt>\n<dd><p>Elementor and Bricks Builder are fully supported. Other builders compatible with WPML should work, but have not been officially tested.<\/p><\/dd>\n<dt id=\"can%20i%20translate%20wpml%20strings%3F\"><h3>Can I translate WPML strings?<\/h3><\/dt>\n<dd><p>Yes. The plugin integrates with WPML String Translation, so interface strings, theme strings and plugin strings can be batch-translated through your chosen engine directly from the plugin.<\/p><\/dd>\n<dt id=\"can%20i%20see%20what%20was%20translated%3F\"><h3>Can I see what was translated?<\/h3><\/dt>\n<dd><p>Yes. The Translation History page shows every past translation, what was sent, what came back, the status of each job and what it cost.<\/p>\n\n<p>For translations done by LATW Cloud, the Cost column says \"LATW Cloud\", because LATW Cloud bills them. You can see what they cost in your LATW account.<\/p><\/dd>\n<dt id=\"how%20are%20translations%20queued%3F\"><h3>How are translations queued?<\/h3><\/dt>\n<dd><p>Through WordPress Cron, in the background, so long jobs do not time out. You can check cron status from the admin UI.<\/p>\n\n<p>With LATW Cloud, WordPress Cron is not used. Translations show as \"In LATW Cloud\" in the queue, and LATW's servers write each one back to your site as soon as it is ready. You can cancel a translation from the queue until LATW Cloud starts translating it.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20my%20pro%20license%20expires%3F\"><h3>What happens when my Pro license expires?<\/h3><\/dt>\n<dd><p>The version you have keeps working, but you stop receiving updates until you renew. The free version continues working regardless, with no license at all.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.1.2<\/h4>\n\n<ul>\n<li>Improvement: the AI now gets only the text of each field instead of its full HTML, with short placeholders where tags sit inside the text, the way WPML's Advanced Translation Editor shows it. Parts of a page that have no text at all are not sent. The HTML is put back unchanged before the translation is saved. Pages built with blocks and page builders cost much less to translate. This works with every AI engine and with LATW Cloud. It is on by default, and you can turn it off under AI Translator \u2192 Settings \u2192 Advanced \u2192 Send Only Text.<\/li>\n<\/ul>\n\n<h4>3.1.1<\/h4>\n\n<ul>\n<li>Fix: new Gemini API keys from Google AI Studio (the ones starting with \"AQ.\") were rejected as invalid. The dot in the key was removed when saving it. Paste your Gemini key again under AI Translator \u2192 Settings \u2192 General after updating.<\/li>\n<\/ul>\n\n<h4>3.1.0<\/h4>\n\n<ul>\n<li><strong>New: LATW Cloud engine.<\/strong> Connect the site to your LATW account under AI Translator \u2192 Settings \u2192 General and translate on LATW's servers with LATW Credits or your own API key, with no WP-Cron needed.<\/li>\n<\/ul>\n\n<h4>3.0.6<\/h4>\n\n<ul>\n<li>Fix: translating categories, tags or other taxonomies could change the language of an original term, leave the new translation without a language, or link it to the wrong original. It happened on sites where a term's ID and its taxonomy ID differ, which is common on WooCommerce shops. Translations are now linked to the right term.<\/li>\n<li>Fix: the \"Translate Again\" list for taxonomies showed the wrong term names on those sites, and translating a term from it could translate a different term. It now lists and translates the right ones.<\/li>\n<li>Fix: a term whose name stays the same in the target language, such as a brand, could take over the original term as its own translation. It now gets a term of its own.<\/li>\n<li>Fix: a child term whose parent could not be translated was moved to the top level of the tree. It now fails with a message asking you to translate the parent first, and the tree stays as it is.<\/li>\n<li>Fix: translating a term again replaced the slug and the parent you had set by hand. Only a slug the plugin generated follows the new name now, and the parent is changed only to match the original term's parent.<\/li>\n<\/ul>\n\n<h4>3.0.5<\/h4>\n\n<ul>\n<li>Fix: with the Pro add-on installed, translations ignored the OpenAI or Gemini model chosen under AI Translator \u2192 Settings \u2192 General \u2192 Model and were always sent to the default model (GPT-5.4 nano or Gemini 3.5 Flash Lite). The model you select is now the one that translates.<\/li>\n<\/ul>\n\n<h4>3.0.4<\/h4>\n\n<ul>\n<li><strong>New: Translated Post Status.<\/strong> Choose the status a newly created translation gets \u2014 the same as the original post (default), Published, Draft, Pending Review or Private. Find it under AI Translator \u2192 Settings \u2192 Translation. Existing translations keep their current status when they are translated again.<\/li>\n<li>Fix: private, pending and scheduled posts were missing from the AI Translator \u2192 Translations list, so they could not be translated. They are listed now, and the Status filter covers them too.<\/li>\n<\/ul>\n\n<h4>3.0.3<\/h4>\n\n<ul>\n<li>Fix: the upgrade banner and the review request could not be dismissed for good. Closing them, or choosing \"Maybe later\" or \"Don't show again\", hid them only until the next page load.<\/li>\n<\/ul>\n\n<h4>3.0.2<\/h4>\n\n<ul>\n<li><strong>New: GPT-6 Luna.<\/strong> OpenAI's new low-cost model is now available to pick under AI Translator \u2192 Settings \u2192 General \u2192 Model.<\/li>\n<\/ul>\n\n<h4>3.0.1<\/h4>\n\n<ul>\n<li><strong>Improvement: a translation that the AI provider refuses now fails immediately, with the reason.<\/strong> When the provider rejects the request itself \u2014 a model it does not know, a setting it does not accept, a key it does not like \u2014 the same request is no longer sent two more times before giving up. You see what the provider said on the first attempt, on the Translations and History screens. Timeouts, rate limits and provider outages are still retried.<\/li>\n<\/ul>\n\n<h4>3.0.0<\/h4>\n\n<ul>\n<li><strong>The Pro version is now an add-on.<\/strong> It installs alongside this plugin instead of replacing it, so this plugin holds the translation engine, the screens and the history for both. If you only use the free version, nothing changes.<\/li>\n<li><strong>New: a translation that fails is retried instead of giving up.<\/strong> A request the AI engine rejects or drops is sent again up to three times before the translation is marked as failed, so a passing glitch at the provider no longer costs you a translation.<\/li>\n<li>New: <code>wp latwaitr run<\/code> processes the queue from WP-CLI, for sites where WP-Cron is unreliable.<\/li>\n<li>New: a translation can now be checked, corrected or rejected by your own code before it is saved into WPML.<\/li>\n<li>Improvement: Target Languages now starts with every language WPML is set up for ticked, instead of nothing, so the plugin is ready to translate straight away. Untick the ones you do not want; an empty list is filled in again, as it would leave the plugin translating nothing.<\/li>\n<li>Improvement: switching translation engine no longer disturbs translations already in progress \u2014 each one is finished by the engine it was sent to.<\/li>\n<li>Fix: after sending content for translation the page did not refresh, so the Active Translation Queue stayed hidden until you reloaded it by hand. The confirmation pop-up is gone with it \u2014 the message now appears on the refreshed page.<\/li>\n<li>Fix: the plugin could take over translation jobs assigned to a different translator in WPML.<\/li>\n<\/ul>\n\n<h4>2.2.4<\/h4>\n\n<ul>\n<li>Improvement: Check Response button on History page<\/li>\n<\/ul>\n\n<h4>2.2.3<\/h4>\n\n<ul>\n<li><strong>New: reasoning effort for Gemini.<\/strong> The Reasoning Effort setting now applies to Gemini as well as OpenAI, and is sent as the model's thinking level.<\/li>\n<li>Fix: Gemini translations were priced without their thinking tokens, which Gemini reports separately from the answer tokens. Cost history was under-reporting them.<\/li>\n<\/ul>\n\n<h4>2.2.2<\/h4>\n\n<ul>\n<li>Fix: translation category - always use the source language, not the one currently set in the admin panel.<\/li>\n<\/ul>\n\n<h4>2.2.0<\/h4>\n\n<ul>\n<li><strong>All languages in the free version.<\/strong> Every language configured in WPML can now be translated, with no per-language limit.<\/li>\n<li><strong>New: MyMemory engine.<\/strong> A free translation memory and machine translation engine that needs no API key, available in the free version.<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li><strong>New: additional translation engines.<\/strong> Alongside OpenAI you can now use Anthropic (Claude), Google Gemini, DeepL and Google Translate. Each engine keeps its own API key and model, so switching back and forth costs you nothing.<\/li>\n<li><strong>New: DeepL and Google Translate support.<\/strong> Dedicated machine-translation engines, billed per character instead of per token.<\/li>\n<li><strong>New: processing modes.<\/strong> Choose Synchronous, Batch or Background. Modes an engine cannot serve fall back to Synchronous instead of failing.<\/li>\n<li><strong>New: current models.<\/strong> GPT-5.6 luna, terra and sol, Claude Opus 5, Sonnet 5 and Haiku 4.5, Gemini 3.7, 3.6 and 3.5 Flash, and Gemini 3.5 Flash Lite.<\/li>\n<\/ul>\n\n<h4>2.0.9<\/h4>\n\n<ul>\n<li>Fix: Astra Site Builder layouts not showing after translation.<\/li>\n<li>Fix: corrected the database join used to read untranslated posts.<\/li>\n<li>Fix: translated products kept appearing as needing translation.<\/li>\n<li>Fix: fatal error when saving translations of WooCommerce products, caused by the downloadable-files field type not being passed to WPML\/WCML.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li><strong>Translations now ride WPML's Translation Service pipeline.<\/strong> The plugin no longer writes translated posts directly. Jobs are pushed through WPML's queue, so they appear in WPML's Translation Management UI, respect WPML job statuses and stay consistent with manual edits.<\/li>\n<li><strong>New: Taxonomy Translation page.<\/strong> A dedicated tab for categories, tags and custom taxonomies, with its own term browser and per-term status.<\/li>\n<li><strong>Database and options upgrade.<\/strong> The queue table stores WPML job IDs, and the dedicated translator user is created on activation and removed on deactivation.<\/li>\n<\/ul>","raw_excerpt":"Automatic AI translation inside WPML, billed to your own API key. No WPML credits, no markup, no middleman.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/277332","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=277332"}],"author":[{"embeddable":true,"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/szymon0zawadzki"}],"wp:attachment":[{"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=277332"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=277332"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=277332"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=277332"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=277332"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kab.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=277332"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}