--- name: mcp-loco-translate description: MCP dedicado ao Loco Translate para gerir e editar traduções de plugins, temas e core WordPress (PO/MO/POT) na frota CWP version: 1.0.0 author: Descomplicar® --- # MCP Loco Translate (`mcp-loco-translate`) > Servidor MCP StreamableHTTP (porta 3205) para gestão de ficheiros de tradução `.po`, `.mo` e `.pot` através das APIs internas do **Loco Translate** (v2.8.8+) nos 13 sites da frota WordPress no CWP. --- ## 1. Ferramentas Disponíveis | Ferramenta | Descrição | Parâmetros | |---|---|---| | `loco_list_supported_sites` | Lista todos os 8 sites suportados na infraestrutura. | `{}` | | `loco_list_bundles` | Lista todos os plugins, temas e core com suporte de tradução. | `site?`, `type?: "all" \| "plugin" \| "theme" \| "core"` | | `loco_get_bundle_details` | Devolve projetos, domínios e ficheiros PO/MO/POT por locale. | `site?`, `handle` (obrigatório) | | `loco_get_po_strings` | Lê mensagens (msgid, msgstr, estado) de um ficheiro PO específico. | `site?`, `po_path`, `limit?`, `offset?`, `filter?` | | `loco_update_translation` | Atualiza o `msgstr` de um `msgid` no PO e compila o binário MO. | `site?`, `po_path`, `msgid`, `msgstr` | | `loco_compile_mo` | Compila diretamente um ficheiro PO para o formato binário MO. | `site?`, `po_path` | --- ## 2. Exemplo de Utilização ### Listar Plugins e Ficheiros de Tradução ```typescript // 1. Obter detalhes do bundle const details = await use_mcp_tool({ server_name: "loco-translate", tool_name: "loco_get_bundle_details", arguments: { site: "emanuelalmeida.pt", handle: "click-to-chat-for-whatsapp/click-to-chat.php" } }); // 2. Ler strings do ficheiro PO em pt_PT const strings = await use_mcp_tool({ server_name: "loco-translate", tool_name: "loco_get_po_strings", arguments: { site: "emanuelalmeida.pt", po_path: "plugins/click-to-chat-for-whatsapp/languages/click-to-chat-pt_PT.po", filter: "WhatsApp" } }); ``` ### Atualizar Tradução e Compilar MO ```typescript await use_mcp_tool({ server_name: "loco-translate", tool_name: "loco_update_translation", arguments: { site: "emanuelalmeida.pt", po_path: "plugins/click-to-chat-for-whatsapp/languages/click-to-chat-pt_PT.po", msgid: "Chat on WhatsApp", msgstr: "Conversar no WhatsApp" } }); ```