{"id":365567,"date":"2026-09-09T03:03:18","date_gmt":"2026-09-09T03:03:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/aumlang\/"},"modified":"2026-10-14T10:07:17","modified_gmt":"2026-10-14T10:07:17","slug":"aumlang","status":"publish","type":"plugin","link":"https:\/\/pan.wordpress.org\/plugins\/aumlang\/","author":23467794,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.7.2","stable_tag":"1.7.2","tested":"7.1.3","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"AumLang \u2013 AI Multilingual Translation & SEO","header_author":"AumCreate","header_description":"Builder-friendly, SEO-complete multilingual translation for WordPress. By AumCreate.","assets_banners_color":"e09c7a","last_updated":"2026-10-14 10:07:17","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/aumcreate.com\/plugins\/aumlang","header_author_uri":"https:\/\/aumcreate.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":1148,"num_ratings":0,"support_threads":1,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.10":{"tag":"1.0.10","author":"aumcreate","date":"2026-09-16 07:41:17","revision":3698111},"1.0.11":{"tag":"1.0.11","author":"aumcreate","date":"2026-09-16 12:15:38","revision":3698547},"1.0.12":{"tag":"1.0.12","author":"aumcreate","date":"2026-09-24 05:22:23","revision":3710516},"1.0.13":{"tag":"1.0.13","author":"aumcreate","date":"2026-09-24 06:12:46","revision":3710580},"1.0.14":{"tag":"1.0.14","author":"aumcreate","date":"2026-09-29 16:55:26","revision":3719467},"1.0.15":{"tag":"1.0.15","author":"aumcreate","date":"2026-09-29 20:02:59","revision":3719764},"1.0.16":{"tag":"1.0.16","author":"aumcreate","date":"2026-09-30 08:09:42","revision":3720626},"1.0.17":{"tag":"1.0.17","author":"aumcreate","date":"2026-10-05 17:04:21","revision":3729334},"1.0.18":{"tag":"1.0.18","author":"aumcreate","date":"2026-10-05 17:14:10","revision":3729351},"1.0.19":{"tag":"1.0.19","author":"aumcreate","date":"2026-10-05 19:51:43","revision":3729595},"1.0.20":{"tag":"1.0.20","author":"aumcreate","date":"2026-10-06 08:33:13","revision":3730300},"1.0.21":{"tag":"1.0.21","author":"aumcreate","date":"2026-10-06 08:56:40","revision":3730337},"1.0.22":{"tag":"1.0.22","author":"aumcreate","date":"2026-10-07 05:00:37","revision":3731886},"1.0.9":{"tag":"1.0.9","author":"aumcreate","date":"2026-09-09 03:02:41","revision":3687509},"1.3.2":{"tag":"1.3.2","author":"aumcreate","date":"2026-10-08 18:03:19","revision":3735294},"1.4.0":{"tag":"1.4.0","author":"aumcreate","date":"2026-10-08 18:26:17","revision":3735331},"1.4.1":{"tag":"1.4.1","author":"aumcreate","date":"2026-10-09 04:48:33","revision":3735895},"1.4.2":{"tag":"1.4.2","author":"aumcreate","date":"2026-10-09 06:11:14","revision":3735996},"1.4.3":{"tag":"1.4.3","author":"aumcreate","date":"2026-10-09 07:56:20","revision":3736158},"1.4.4":{"tag":"1.4.4","author":"aumcreate","date":"2026-10-09 08:23:42","revision":3736194},"1.5.0":{"tag":"1.5.0","author":"aumcreate","date":"2026-10-09 09:37:45","revision":3736321},"1.5.1":{"tag":"1.5.1","author":"aumcreate","date":"2026-10-11 19:42:45","revision":3740028},"1.6.0":{"tag":"1.6.0","author":"aumcreate","date":"2026-10-12 08:22:45","revision":3740824},"1.7.0":{"tag":"1.7.0","author":"aumcreate","date":"2026-10-12 11:04:44","revision":3741204},"1.7.1":{"tag":"1.7.1","author":"aumcreate","date":"2026-10-13 04:44:36","revision":3742894},"1.7.2":{"tag":"1.7.2","author":"aumcreate","date":"2026-10-14 10:07:17","revision":3745947}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3754141,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3754141,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3754141,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3754141,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"aumlang\/language-switcher":{"name":"aumlang\/language-switcher","title":"Language Switcher"}},"tagged_versions":["1.0.10","1.0.11","1.0.12","1.0.13","1.0.14","1.0.15","1.0.16","1.0.17","1.0.18","1.0.19","1.0.20","1.0.21","1.0.22","1.0.9","1.3.2","1.4.0","1.4.1","1.4.2","1.4.3","1.4.4","1.5.0","1.5.1","1.6.0","1.7.0","1.7.1","1.7.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3735294,"resolution":"1","location":"assets","locale":"","width":1440,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3735294,"resolution":"2","location":"assets","locale":"","width":1440,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3735294,"resolution":"3","location":"assets","locale":"","width":1440,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3735294,"resolution":"4","location":"assets","locale":"","width":1440,"height":900},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3735294,"resolution":"5","location":"assets","locale":"","width":1440,"height":900},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3735294,"resolution":"6","location":"assets","locale":"","width":1440,"height":900}},"screenshots":{"1":"Languages, and which post types, taxonomies and custom fields get translated.","2":"Translating from the editor \u2014 one box, one row per language, no separate screen.","3":"The Review tab: every machine translation beside its original, ready to proofread and mark as reviewed.","4":"Translation provider \u2014 the WordPress AI Client, or your own key against any OpenAI-compatible API.","5":"The glossary pins how key terms are translated, so the AI stays consistent and on-brand.","6":"The front-end switcher: add it to a menu, float it on every page, or place it with a shortcode or block."}},"plugin_section":[],"plugin_tags":[220668,76538,2993,22323,286],"plugin_category":[45,48],"plugin_contributors":[278530],"plugin_business_model":[],"class_list":["post-365567","plugin","type-plugin","status-publish","hentry","plugin_tags-ai-translation","plugin_tags-elementor","plugin_tags-hreflang","plugin_tags-language-switcher","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-language-tools","plugin_contributors-aumcreate","plugin_committers-aumcreate","plugin_support_reps-devollen"],"banners":{"banner":"https:\/\/ps.w.org\/aumlang\/assets\/banner-772x250.png?rev=3754141","banner_2x":"https:\/\/ps.w.org\/aumlang\/assets\/banner-1544x500.png?rev=3754141","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/aumlang\/assets\/icon-128x128.png?rev=3754141","icon_2x":"https:\/\/ps.w.org\/aumlang\/assets\/icon-256x256.png?rev=3754141","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/aumlang\/assets\/screenshot-1.png?rev=3735294","caption":"Languages, and which post types, taxonomies and custom fields get translated."},{"src":"https:\/\/ps.w.org\/aumlang\/assets\/screenshot-2.png?rev=3735294","caption":"Translating from the editor \u2014 one box, one row per language, no separate screen."},{"src":"https:\/\/ps.w.org\/aumlang\/assets\/screenshot-3.png?rev=3735294","caption":"The Review tab: every machine translation beside its original, ready to proofread and mark as reviewed."},{"src":"https:\/\/ps.w.org\/aumlang\/assets\/screenshot-4.png?rev=3735294","caption":"Translation provider \u2014 the WordPress AI Client, or your own key against any OpenAI-compatible API."},{"src":"https:\/\/ps.w.org\/aumlang\/assets\/screenshot-5.png?rev=3735294","caption":"The glossary pins how key terms are translated, so the AI stays consistent and on-brand."},{"src":"https:\/\/ps.w.org\/aumlang\/assets\/screenshot-6.png?rev=3735294","caption":"The front-end switcher: add it to a menu, float it on every page, or place it with a shortcode or block."}],"raw_content":"<!--section=description-->\n<p>AumLang turns your WordPress site multilingual with one-click AI translation that keeps your page builder layouts intact. It uses the AI client that ships with WordPress 7.0, so on a site that already has a provider connected there is nothing to configure and no key to enter.<\/p>\n\n<p><strong>Highlights<\/strong><\/p>\n\n<ul>\n<li><strong>Builder-aware translation.<\/strong> Elementor and Gutenberg pages are translated automatically \u2014 text only, layout and styles untouched. Custom widgets and repeaters are detected from the builder's own type system, with zero per-widget configuration.<\/li>\n<li><strong>One-click, fully automatic.<\/strong> Translate a post, page or product and AumLang handles the title, content, excerpt, categories, tags and more.<\/li>\n<li><strong>SEO complete.<\/strong> Per-language URLs (\/zh\/\u2026), hreflang alternates, per-language canonical, and a multilingual XML sitemap.<\/li>\n<li><strong>Glossary.<\/strong> Pin how key terms are translated (e.g. keep a brand name, force \"post\" \u2192 a chosen term) so AI output stays consistent and on-brand.<\/li>\n<li><strong>Interface string translation.<\/strong> Capture the theme\/plugin interface strings your visitors actually see and translate them on demand \u2014 and pull official WordPress.org language packs automatically.<\/li>\n<li><strong>Taxonomy translation.<\/strong> Categories, tags and custom taxonomies get per-language versions, with translated archives and language-filtered term lists.<\/li>\n<li><strong>Language switcher.<\/strong> Shortcode, template tag, block and widget \u2014 drop it anywhere.<\/li>\n<li><strong>Navigation menus.<\/strong> One menu serves every language; items auto-switch to their translation.<\/li>\n<li><strong>WooCommerce.<\/strong> Products, product categories, tags, brands and attributes are translated, and the full product data (price, stock, gallery) is carried over so the translation stays a working product.<\/li>\n<\/ul>\n\n<p>Either way the AI account is yours, so translation cost is under your control \u2014 no per-translation fees, no quotas from us, and no account with us of any kind.<\/p>\n\n<h4>Translation engines<\/h4>\n\n<p>AumLang prefers the AI client that ships with WordPress 7.0, and new installs use it by default. The site owner connects a provider once under <strong>Settings &gt; Connectors<\/strong>; this plugin then sends only the text to be translated, holds no API key of its own, and shares that one connection with every other plugin on the site.<\/p>\n\n<p>A direct connection is also offered, because the connectors WordPress ships cover Anthropic, Google and OpenAI, and a site whose network cannot reach any of those still needs a way to translate. It is entirely opt-in and requires your own key.<\/p>\n\n<h4>External Services<\/h4>\n\n<p>Nothing leaves your site until you pick an engine and start a translation. The plugin has no account with us, sends no telemetry, and makes no request on its own.<\/p>\n\n<p><em>Using the WordPress AI Client:<\/em> the text being translated goes to whichever provider the site owner connected under Settings &gt; Connectors. WordPress owns that connection and its credentials; the terms that apply are those of the provider chosen there.<\/p>\n\n<p><em>Using the direct connection:<\/em> the plugin is a client for the OpenAI-compatible chat API, so it can talk to any service implementing it. It sends the strings being translated together with the source and target language, and nothing else. You supply the endpoint, the model and the key; presets are offered purely to fill the endpoint and model fields for services people commonly use:<\/p>\n\n<ul>\n<li>DeepSeek - https:\/\/api.deepseek.com - <a href=\"https:\/\/cdn.deepseek.com\/policies\/en-US\/deepseek-terms-of-use.html\">Terms<\/a> | <a href=\"https:\/\/cdn.deepseek.com\/policies\/en-US\/deepseek-privacy-policy.html\">Privacy<\/a><\/li>\n<li>OpenAI - https:\/\/api.openai.com - <a href=\"https:\/\/openai.com\/policies\/row-terms-of-use\">Terms<\/a> | <a href=\"https:\/\/openai.com\/policies\/privacy-policy\">Privacy<\/a><\/li>\n<li>OpenRouter - https:\/\/openrouter.ai - <a href=\"https:\/\/openrouter.ai\/terms\">Terms<\/a> | <a href=\"https:\/\/openrouter.ai\/privacy\">Privacy<\/a><\/li>\n<\/ul>\n\n<p>Choosing a preset changes two text fields; it does not contact anything. Any other compatible endpoint can be entered by hand, in which case its operator's terms are the ones that apply.<\/p>\n\n<p>Text that has already been translated is served from your own database and never leaves the site again.<\/p>\n\n<h4>Source code<\/h4>\n\n<p>The released source is on GitHub at <a href=\"https:\/\/github.com\/aumcreate\/aumlang\">github.com\/aumcreate\/aumlang<\/a> \u2014 bug reports and pull requests are welcome there.<\/p>\n\n<h4>More from AumCreate<\/h4>\n\n<p>What it translates, how layouts are kept intact, and how hreflang is emitted: <a href=\"https:\/\/aumcreate.com\/plugins\/aumlang\">aumcreate.com\/plugins\/aumlang<\/a><\/p>\n\n<p>Also free from AumCreate: llms.txt and schema for AI search, AI crawler control, digital-goods checkout for WooCommerce, and a hosted chat widget: <a href=\"https:\/\/aumcreate.com\/plugins\">aumcreate.com\/plugins<\/a><\/p>\n\n<h3>External and bundled resources<\/h3>\n\n<p>This plugin bundles <strong>flag-icons<\/strong> 7.2.3 by Panayiotis Lipiridis, unmodified, as the flag images in\n    src\/assets\/flags\/. It is licensed MIT; the licence text ships alongside them in\n    src\/assets\/flags\/LICENSE.txt.<\/p>\n\n<ul>\n<li>Source: <a href=\"https:\/\/github.com\/lipis\/flag-icons\">github.com\/lipis\/flag-icons<\/a><\/li>\n<\/ul>\n\n<p>The plugin makes <strong>no requests to any external service<\/strong> to render a switcher: the flags are served\nfrom this plugin's own directory.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>aumlang<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the plugin ZIP via Plugins \u2192 Add New \u2192 Upload.<\/li>\n<li>Activate the plugin through the Plugins screen.<\/li>\n<li>Make sure pretty permalinks are enabled (Settings \u2192 Permalinks) \u2014 language URLs like <code>\/zh\/<\/code> require them.<\/li>\n<li>Go to the AumLang settings screen and add your languages. Leave the translation engine on \"WordPress AI Client\" if a provider is already connected under Settings &gt; Connectors; otherwise switch it to the direct connection and enter your own endpoint, model and key.<\/li>\n<li>Open any post, page or product and use the AumLang panel to translate it.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20api%20key%3F\"><h3>Do I need an API key?<\/h3><\/dt>\n<dd><p>Not if WordPress already has one. AumLang's default engine is the AI client built into WordPress 7.0, which uses the provider connected under Settings &gt; Connectors \u2014 that connection belongs to WordPress, is shared with every other plugin, and this plugin never sees the key.<\/p>\n\n<p>You need your own key only for the second engine, the direct connection. It exists because the connectors WordPress ships cover Anthropic, Google and OpenAI, and a site whose network cannot reach any of those still needs a way to translate. It speaks the OpenAI-compatible chat API, so any service implementing it will do; you supply the endpoint, the model and the key, and the AI account is yours either way.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20elementor%20and%20gutenberg%3F\"><h3>Does it work with Elementor and Gutenberg?<\/h3><\/dt>\n<dd><p>Yes. AumLang reads each builder's own structure, translating only the text and leaving layout, styles and design untouched \u2014 including custom widgets.<\/p><\/dd>\n<dt id=\"will%20it%20translate%20woocommerce%20products%3F\"><h3>Will it translate WooCommerce products?<\/h3><\/dt>\n<dd><p>Yes \u2014 product title, description, short description, categories, tags, brands and attributes, while carrying over price, stock and gallery so the translation remains a complete product. Multi-currency is intentionally out of scope; pair AumLang with a dedicated currency plugin if you need it.<\/p><\/dd>\n<dt id=\"how%20do%20visitors%20switch%20language%3F\"><h3>How do visitors switch language?<\/h3><\/dt>\n<dd><p>Add the language switcher via the <code>[aumlang_language_switcher]<\/code> shortcode, the block, the widget, or the <code>aumlang_language_switcher()<\/code> template tag.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.7.2<\/h4>\n\n<ul>\n<li><strong>A translation written in the wrong alphabet is no longer accepted.<\/strong> Nothing checked that what\ncame back was in the language that was asked for. A provider that answers an Italian request with\nChinese returns the right number of items, in valid JSON, with no error anywhere \u2014 so it was stored\nas the Italian translation, and retrying produced the same thing because the stored value already\nlooked finished. Replies are now checked against the writing systems the target language actually\nuses, and one in the wrong script is treated as a failed attempt: the retry runs, and if that fails\ntoo the original text is kept. English left in place is a problem you can see; Chinese presented as\nItalian is one you cannot.<\/li>\n<li>The check only judges what can be judged with certainty \u2014 a script the language never uses. It does\nnot try to tell Spanish from Portuguese, and it never rejects a reply for a language it does not\nknow: not knowing is not evidence of an error.<\/li>\n<\/ul>\n\n<h4>1.7.1<\/h4>\n\n<ul>\n<li><strong>Bulk translation offered to translate posts that were themselves translations.<\/strong> The posts list\nshows translations alongside their originals, so a site with three languages has four times the\nrows \u2014 and \"select all\" selects what is on the screen. There is no way for the owner to tell which\nrows are copies, so the Japanese copies of three posts were counted as \"will be translated into\nJapanese\": money spent to produce a Japanese translation of a Japanese page, overwriting what was\nthere. Those are now left alone, and the confirmation screen says why.<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li><strong>Translate many posts at once.<\/strong> Select rows in the Posts or Pages list, pick a language from the\nbulk actions menu, and AumLang works through them in the background. Until now the only way to\ntranslate was the button in the editor: one post, one language, one click. A site with twenty pages\nand five languages is a hundred clicks across twenty page loads, each waiting for the rounds to\nfinish \u2014 not a slow workflow but an impossible one, and sites were sitting at a handful of\ncombinations done while their owners reported the result as a fault in the translation.<\/li>\n<li>Because this spends money, Apply does not start anything. It opens a screen saying how many posts\nwill actually be sent, how many already have a translation and will be left alone, and into which\nlanguage. That screen has the button. The counts are worked out as the screen is drawn, never\nreused from a moment ago.<\/li>\n<li>A post that already has a translation is skipped rather than translated again, including one whose\ntranslation is out of date. Re-translating a single post stays where it was, on the button in the\neditor that says what it will do before it does it.<\/li>\n<li>The run survives the page being closed: it continues in the background and the progress screen\npicks it up again. <strong>Stop<\/strong> finishes the post it is on and then stops; posts already done stay done.<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li><strong>A header or footer built as a page is now translated.<\/strong> Builder-driven themes keep the header,\nthe footer and other global blocks in an ordinary page and render it inside every request with\n  get_post(), which runs no query \u2014 so nothing this plugin had hooked could see it. The entry was\nin the translation list, translating it changed nothing on the front end, and there was no error\nanywhere. The content is now matched by an exact hash of itself, so it works regardless of how the\ntheme fetched the page, and a theme that uses no such block pays one string comparison.<\/li>\n<li><strong>Widget text is now translated whatever wrote the widget.<\/strong> The previous pass used the\n  widget_title filter, which only fires if the widget itself calls it. Core widgets do; many others\nsimply print the stored value, and for those the title stayed in the source language and never even\nappeared in the strings list, so there was nothing to notice. Every widget's stored fields are now\nread before it renders. URLs, icons, CSS classes, ids, email addresses and phone numbers are left\nalone \u2014 translating those breaks the widget rather than the wording.<\/li>\n<li><strong>23 more languages show their flag.<\/strong> A flag was drawn from the region in the locale, and\nWordPress writes a number of locales with no region at all \u2014 Japanese is <code>ja<\/code>, not <code>ja_JP<\/code>. Those\nlanguages sat in the switcher with no flag beside the ones that had one. Languages genuinely spoken\nacross several countries (English, Arabic, Swahili, Catalan, Basque) still show no flag, because\nthere is no right answer for them and a wrong flag is worse than none.<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>The plugins list now carries a <strong>Guide<\/strong> link beside Deactivate, pointing at this plugin's\nmanual in the language that administrator reads the admin in. The manual is the product's\nfull documentation; it is a separate thing from the plugin's own help text.<\/li>\n<\/ul>\n\n<p>Older entries are in changelog.txt, which ships with the plugin.<\/p>","raw_excerpt":"AI translation for Elementor, Gutenberg and WooCommerce that keeps layouts intact, with per-language URLs, hreflang, canonicals and sitemaps handled.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/365567","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=365567"}],"author":[{"embeddable":true,"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/aumcreate"}],"wp:attachment":[{"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=365567"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=365567"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=365567"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=365567"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=365567"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=365567"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}