{"id":388005,"date":"2026-10-26T20:04:02","date_gmt":"2026-10-26T20:04:02","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/multilingual-store-abilities-for-woocommerce\/"},"modified":"2026-10-26T20:03:53","modified_gmt":"2026-10-26T20:03:53","slug":"linguapilot","status":"publish","type":"plugin","link":"https:\/\/da.wordpress.org\/plugins\/linguapilot\/","author":13508804,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.0","stable_tag":"0.1.0","tested":"7.1.4","requires":"6.9","requires_php":"8.1","requires_plugins":null,"header_name":"LinguaPilot \u2013 Multilingual Store Abilities for WooCommerce","header_author":"MEDIAWORKBENCH","header_description":"Read-only abilities (WordPress Abilities API) that let AI agents audit translations, cross-language consistency and multi-currency prices in WooCommerce stores running WPML.","assets_banners_color":"","last_updated":"2026-10-26 20:03:53","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":54,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.0":{"tag":"0.1.0","author":"MEDIAWORKBENCH","date":"2026-10-26 20:03:53","revision":3767247}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[2353,242115,99,2333,286],"plugin_category":[45,48],"plugin_contributors":[288783],"plugin_business_model":[],"class_list":["post-388005","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-mcp","plugin_tags-multilingual","plugin_tags-translation","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-language-tools","plugin_contributors-mediaworkbench","plugin_committers-mediaworkbench"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/linguapilot.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Multilingual stores drift: a product is translated into German but not French, a translated variation is missing so French customers cannot pick a size, a SKU was changed in one language only, a manually priced product has no CHF price, and nobody knows which of the 400 untranslated products to translate first.<\/p>\n\n<p>This plugin answers those questions. It registers six <strong>read-only<\/strong> abilities with the WordPress Abilities API (WordPress 6.9+). Agents such as Claude can call them through the official <a href=\"https:\/\/wordpress.org\/plugins\/mcp-adapter\/\">MCP Adapter<\/a>, or you can use the REST API or PHP.<\/p>\n\n<p><strong>Abilities<\/strong><\/p>\n\n<ul>\n<li><code>linguapilot\/languages-overview<\/code>: languages, currencies per language, which product fields stay in sync across translations, and catalog size. Meant as an agent's first call.<\/li>\n<li><code>linguapilot\/translation-completeness<\/code>: products, categories, tags or attribute terms missing a translation, with coverage per language. Distinguishes missing, unpublished (draft), in progress (sent to translation) and outdated translations.<\/li>\n<li><code>linguapilot\/cross-language-consistency<\/code>: translations whose SKU, stock, tax class, visibility, status or prices differ from the original. Each difference is a <code>sync_error<\/code> (the field should be synced) or a <code>deviation<\/code> (may be intentional).<\/li>\n<li><code>linguapilot\/untranslated-variations<\/code>: why a translated variable product's variation selector breaks: missing variations, untranslated attribute terms, mismatched custom attribute options, values shoppers cannot select.<\/li>\n<li><code>linguapilot\/currency-price-gaps<\/code>: products and variations with \"set prices manually\" that lack a price in a secondary currency (WooCommerce Multilingual multi-currency).<\/li>\n<li><code>linguapilot\/translation-work-queue<\/code>: untranslated products ranked by sales from WooCommerce Analytics. Sales of all language versions count for the original.<\/li>\n<\/ul>\n\n<p><strong>Example questions for an agent<\/strong><\/p>\n\n<ul>\n<li>\"Which products are missing a French translation?\"<\/li>\n<li>\"Are there translations whose SKU, stock or visibility differ from the original?\"<\/li>\n<li>\"Why can't French customers select a size on this product?\"<\/li>\n<li>\"Which products have no manual price in CHF?\"<\/li>\n<li>\"Which untranslated products sell best, so I know what to translate first?\"<\/li>\n<\/ul>\n\n<p><strong>Safe by design<\/strong><\/p>\n\n<ul>\n<li>Strictly read-only: no ability writes anything. This is verified by tests that checksum every database table.<\/li>\n<li>Requires the <code>manage_woocommerce<\/code> capability (Shop Manager or Administrator), filterable per ability.<\/li>\n<li>No customer data in any output; sales appear only as per-product totals.<\/li>\n<li>Bounded output: paginated, at most 100 items per call.<\/li>\n<li>Store content (titles) is returned as plain text. Agents must treat it as data, never as instructions.<\/li>\n<li>Every call is logged to WooCommerce \u2192 Status \u2192 Logs (source <code>linguapilot<\/code>) without raw input.<\/li>\n<li>The plugin sends no data anywhere and talks to no AI service itself.<\/li>\n<\/ul>\n\n<p><strong>Requirements<\/strong><\/p>\n\n<ul>\n<li>WooCommerce 10.9 or newer<\/li>\n<li>WPML Multilingual CMS 5.0 or newer, with the setup wizard completed<\/li>\n<li>WooCommerce Multilingual &amp; Multicurrency 5.6 or newer (optional; without it, multi-currency checks are unavailable and sync detection uses WPML settings only)<\/li>\n<li>MCP Adapter 0.7 or newer to connect AI agents (optional; the abilities also work through REST and PHP)<\/li>\n<\/ul>\n\n<p>WPML and WooCommerce are trademarks of their respective owners. This plugin is not affiliated with or endorsed by them.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate WooCommerce, WPML and (recommended) WooCommerce Multilingual &amp; Multicurrency.<\/li>\n<li>Install and activate this plugin. If a requirement is missing, an admin notice explains which one.<\/li>\n<li>To connect an AI agent: install the MCP Adapter, create a dedicated user with the Shop Manager role and an application password, and point your MCP client at <code>https:\/\/your-store.example\/wp-json\/mcp\/mcp-adapter-default-server<\/code>. Never connect with an administrator account.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20change%20my%20store%3F\"><h3>Does the plugin change my store?<\/h3><\/dt>\n<dd><p>No. Every ability is read-only. The only thing written is one line per call in the WooCommerce log, which you can turn off with the <code>linguapilot_audit_enabled<\/code> filter.<\/p><\/dd>\n<dt id=\"who%20can%20run%20the%20abilities%3F\"><h3>Who can run the abilities?<\/h3><\/dt>\n<dd><p>Users with <code>manage_woocommerce<\/code>. Change it per ability with the <code>linguapilot_ability_capability<\/code> filter, e.g. to a custom capability for a dedicated agent role.<\/p><\/dd>\n<dt id=\"why%20is%20a%20translated%20product%20reported%20although%20it%20exists%3F\"><h3>Why is a translated product reported although it exists?<\/h3><\/dt>\n<dd><p>Only published translations count as translated. Drafts, pending or private translations are reported as unpublished, translations sent to a translator as in progress, and trashed ones as missing.<\/p><\/dd>\n<dt id=\"why%20does%20the%20work%20queue%20say%20analytics%20is%20missing%20orders%3F\"><h3>Why does the work queue say Analytics is missing orders?<\/h3><\/dt>\n<dd><p>WooCommerce imports orders into Analytics in batches, so the newest orders can be missing for a while. The ranking reports how many (<code>analytics_missing_orders<\/code>) instead of silently ignoring them.<\/p><\/dd>\n<dt id=\"does%20it%20support%20polylang%3F\"><h3>Does it support Polylang?<\/h3><\/dt>\n<dd><p>Not yet. The plugin talks to WPML through a single gateway, so other multilingual plugins can be added later.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>First release: six read-only abilities for WPML + WooCommerce stores.<\/li>\n<\/ul>","raw_excerpt":"Read-only abilities that let AI agents audit translations, cross-language consistency and multi-currency prices in WooCommerce stores running WPML.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/da.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/388005","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/da.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/da.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/da.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=388005"}],"author":[{"embeddable":true,"href":"https:\/\/da.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mediaworkbench"}],"wp:attachment":[{"href":"https:\/\/da.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=388005"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/da.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=388005"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/da.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=388005"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/da.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=388005"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/da.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=388005"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/da.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=388005"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}