docs(mcp): enlace traducible por idioma en set_record_translations
Path absoluto con prefijo (/en/...); CocoEnlace regenera las filas al cambiar el enlace base. Actualizados tool description, ACAI_ENDPOINTS y docs 04/09/11b.
This commit is contained in:
@@ -162,9 +162,9 @@ En sitios multiidioma las traducciones NO viven en la fila del registro: se guar
|
||||
- Para leer un registro ya traducido, pasa `lang: "<prefix>"` a `get_record` o `list_table_records`.
|
||||
- El campo `identificador` de `textos_generales` (los literales del filtro Twig `| translate`) se traduce por su campo `texto`.
|
||||
|
||||
### Regla dura: nunca traduzcas `enlace`
|
||||
### El `enlace` traducido lo define el usuario
|
||||
|
||||
El campo `enlace` NUNCA se traduce a mano — lo mantiene el motor CocoEnlace. La action PHP rechaza cualquier intento de traducir `enlace`. No lo incluyas en `set_record_translations`.
|
||||
El `enlace` traducido es editable con `set_record_translations` (formato: path absoluto con prefijo de idioma, p.ej. `/en/contact/` para la página base `/contacto/`). Solo hazlo si el usuario lo pide; ten en cuenta que al cambiar el `enlace` base, CocoEnlace regenera automáticamente las filas de enlace por idioma (formato `/<prefix><enlaceBase>`) y puede pisar la personalización.
|
||||
|
||||
## Patrón canónico — Detalle de registro
|
||||
|
||||
|
||||
@@ -161,7 +161,7 @@ Las webs multiidioma guardan las traducciones en la tabla central `cms_traduccio
|
||||
|------|--------|-------|
|
||||
| `list_web_languages` | Lista los idiomas activos del sitio (`settings.dat.php [idiomas]`) | Devuelve `prefix`/`urlPrefix`/`isDefault`. `prefix="www"` = idioma base (URLs sin prefijo); otro prefix (p.ej. `en`) = idioma bajo `/en/...` |
|
||||
| `get_record_translations` | Lee traducciones de uno o varios registros | Por `tableName` (sin `cms_`) + `recordNums`. Opcional `fields` y `prefix`. Devuelve `{recordNum:{prefix:{fieldName:valor}}}` ya decodificado |
|
||||
| `set_record_translations` | Escribe traducciones de un registro + idioma | `tableName`+`recordNum`+`prefix`+`fields`. `''` borra la traducción. **`enlace` prohibido** (lo mantiene CocoEnlace) |
|
||||
| `set_record_translations` | Escribe traducciones de un registro + idioma | `tableName`+`recordNum`+`prefix`+`fields`. `''` borra la traducción. `enlace`: path absoluto con prefijo (`/en/...`); CocoEnlace lo regenera si cambia el enlace base |
|
||||
|
||||
Además, las tools de lectura `list_table_records` y `get_record` aceptan el parámetro opcional `lang` (prefix, p.ej. `'en'`): devuelven los valores ya traducidos de los campos traducibles (el motor CocoDB aplica la traducción en lectura).
|
||||
|
||||
|
||||
@@ -92,7 +92,7 @@ Resumen ejecutable de reglas críticas, tipos de campo, filtros y formatos de da
|
||||
| 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 |
|
||||
| Traducir `enlace` con cuidado | Es editable por idioma (path absoluto, p.ej. `/en/contact/`); si cambia el enlace base, CocoEnlace lo regenera |
|
||||
| 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 |
|
||||
|
||||
Reference in New Issue
Block a user