feat(mcp): tools de idiomas y traducciones

- Nueva categoria tools/languages: list_web_languages,
  get_record_translations y set_record_translations (registros, config,
  textos_generales y vars de modulo via builder_custom).
- Param lang opcional en list_table_records y get_record
  (options.translates de CocoDB).
- Docs actualizados (03/04/06/09/11b + ACAI_ENDPOINTS) con el modelo de
  cms_traducciones y los workflows de traduccion.
This commit is contained in:
Jordan Diaz
2026-07-16 20:09:47 +00:00
parent d475845c27
commit d46c204ed0
13 changed files with 382 additions and 3 deletions

View File

@@ -87,6 +87,20 @@ Resumen ejecutable de reglas críticas, tipos de campo, filtros y formatos de da
| `multitext` | String JSON | `"[{\"item\":\"valor\"}]"` |
| `upload` | NO enviar — usar `upload_record_image` después |
## Traducciones (multiidioma)
| Regla | Detalle |
|-------|---------|
| Prefix `www` = idioma base | URLs sin prefijo. Otro prefix (p.ej. `en`) sirve bajo `/en/...` — lista con `list_web_languages` |
| Nunca traducir `enlace` | Lo mantiene CocoEnlace; la action PHP lo rechaza |
| Valor `''` borra la traducción | `set_record_translations` con `''` elimina la fila y cae al idioma base |
| Base64 transparente | El valor se guarda Base64 en `cms_traducciones`; tú siempre pasas/recibes texto plano |
| `multitext` = JSON completo | Se traduce el JSON serializado entero en una sola fila, no item por item |
| Campos traducibles | Solo `textfield`, `textbox`, `wysiwyg`, `codigo`, `multitext` |
| Leer traducido | `get_record`/`list_table_records` con `lang: "<prefix>"` |
| Vars de módulo | Se traducen sobre `builder_custom` usando `varsMeta` de `get_module_config_vars` |
| Textos generales | Traducir el campo `texto` del registro en `textos_generales` (localiza por `identificador`) |
## Variables globales en Twig
| Variable | Descripción |