[Multiidioma] Traducir menús + «Quiénes somos» (3 posts + 30 fichas colaboradores) a EN/FR/IT/PT #129

Closed
opened 2026-06-28 19:15:12 +00:00 by rafa · 0 comments
Owner

Labels: area:content, improvement

Objetivo

Traducir a los 4 idiomas (EN / FR / IT / PT) —ES es el origen— el bloque institucional «Quiénes somos»: los menús y los 3 posts de sección con sus hijos. Hoy todo está solo en ES (sin traducciones Polylang).

Alcance

1) Menús

  • Menú principalwp_navigation ID 1 (etiquetas + URLs hardcodeadas kind:custom). Grupos: Quiénes somos, Cartas, Contactar, Escuela, Librería, accesos a webs anteriores.
  • Menús del piewp_navigation 26525, 26526, 26527, 26528 (la plantilla del pie usa estos 4; la 26524 está sin usar).
  • Traducir etiquetas por idioma y apuntar cada URL a la página traducida correspondiente cuando exista (si no existe traducción del destino, decidir: fallback a ES o pendiente).
  • ⚠️ El switcher de idioma usa Polylang (pll_the_languages en fea-homepage.php ~L329). El menú visible es wp_navigation con URLs/labels hardcodeadas → investigar cómo localizar etiquetas/URLs del bloque navigation por idioma (Polylang traduce bien menús clásicos, no tan directo los wp_navigation). Posible solución: menús por idioma o mapa JS/PHP.

2) Los 3 posts de «Quiénes somos»

ID Slug Título
17563 colaboradores Colaboradores (índice, ~12 KB, enlaza las 30 fichas)
17564 paraponeraldialafe Para poner al día la FE (~3,2 KB)
17576 portal Este portal (~4 KB)

3) Hijos: las 30 fichas de colaboradores

Posts enlazados desde Colaboradores (17563). Cada uno es la bio/presentación de un colaborador (post_type post, publicados, solo ES):

  • africa-de-la-cruz-tomas — 22488 · «África de la Cruz Tomás»
  • dolores-aleixandre — 17600 · «Dolores Aleixandre»
  • eloy-roy — 17604 · «Eloy Roy»
  • enrique-martinez-lozano — 17603 · «Enrique Martínez Lozano»
  • faustino-vilabrille-linares — 18954 · «Faustino Vilabrille Linares»
  • florentino-ulibarri — 17609 · «Florentino Ulibarri»
  • fray-marcos — 17601 · «Fray Marcos»
  • inma-calvo-torrejon-2 — 22487 · «Inma Calvo Torrejón»
  • jose-antonio-pagola — 17602 · «José Antonio Pagola»
  • jose-arregi — 17599 · «José Arregi»
  • jose-enrique-galarreta — 17611 · «José Enrique Galarreta»
  • jose-sanchez-luque-2 — 19004 · «José Sánchez Luque»
  • julian-mellado — 17612 · «Julián Mellado»
  • koldo-aldai — 17608 · «Koldo Aldai»
  • lenin-v-cardenas-torres — 18875 · «Lenin V. Cárdenas Torres»
  • mari-patxi-ayerra — 17786 · «Mari Patxi Ayerra»
  • mari-paz-l-santos — 17805 · «Mari Paz López Santos»
  • maria-teresa-sanchez-carmona-2 — 18425 · «Maria Teresa Sánchez Carmona»
  • mariangeles-gonzalez-de-la-pena — 17833 · «Mariangeles González de la Peña»
  • marta-salazar — 17613 · «Marta Salazar»
  • matilde-gastalver — 17607 · «Matilde Gastalver»
  • rafael-calvo-beca — 17610 · «Rafael Calvo Beca»
  • ramon — 22486 · «Ramón Hernández Martín»
  • rogelio-cardenas-ponce-de-leon — 18426 · «Rogelio Cárdenas Ponce de León»
  • salome-arricibita — 18424 · «Salomé Arricibita»
  • sandra-hojman — 17606 · «Sandra Hojman»
  • vicente-martinez — 17605 · «Vicente Martínez»
  • vicky-irigaray — 18783 · «Vicky Irigaray Bergara»
  • victor-daniel-blanco-rodriguez — 18427 · «Víctor Daniel Blanco Rodriguez»
  • yolanda-chavez-2 — 19813 · «Yolanda Chávez»

Estado actual

  • Los 3 posts y las 30 fichas: idioma es, sin entradas Polylang en EN/FR/IT/PT.
  • Menús: etiquetas solo en ES.

Enfoque propuesto (para cuando se ejecute)

  1. Traducción con Gemma local (política de modelos: Gemma 4 E4B Q8 como default), revisando nombres propios y términos religiosos. Las bios de colaboradores son texto sensible (nombres, cargos) → cuidado.
  2. Crear los posts traducidos y vincularlos con Polylang (pll_set_post_language + pll_save_post_translations), preservando estructura HTML y reapuntando enlaces internos a sus equivalentes traducidos.
  3. Resolver la i18n de menús (decisión técnica pendiente, ver ⚠️ arriba).
  4. Deploy a prod (wp-nuevo): contenido domain-independent donde se pueda; subir vía ssh cat (scp no va); verificar server-side (Cloudflare bloquea headless).
  5. Orden sugerido: primero los 3 posts de sección + menús (alto impacto, poco volumen); las 30 fichas como segundo lote.

Notas

  • Total a traducir por idioma: 3 posts de sección + 30 fichas = 33 posts, ×4 idiomas = 132 traducciones.
  • Relacionado: multiidioma #75, #80, #88.
**Labels:** area:content, improvement ## Objetivo Traducir a los **4 idiomas (EN / FR / IT / PT)** —ES es el origen— el bloque institucional **«Quiénes somos»**: los menús y los 3 posts de sección con sus hijos. Hoy todo está **solo en ES** (sin traducciones Polylang). ## Alcance ### 1) Menús - **Menú principal** — `wp_navigation` ID **1** (etiquetas + URLs hardcodeadas `kind:custom`). Grupos: Quiénes somos, Cartas, Contactar, Escuela, Librería, accesos a webs anteriores. - **Menús del pie** — `wp_navigation` **26525, 26526, 26527, 26528** (la plantilla del pie usa estos 4; la 26524 está sin usar). - Traducir **etiquetas** por idioma y apuntar cada URL a la **página traducida** correspondiente cuando exista (si no existe traducción del destino, decidir: fallback a ES o pendiente). - ⚠️ El switcher de idioma usa Polylang (`pll_the_languages` en `fea-homepage.php` ~L329). El menú visible es `wp_navigation` con URLs/labels hardcodeadas → **investigar cómo localizar etiquetas/URLs del bloque navigation por idioma** (Polylang traduce bien menús *clásicos*, no tan directo los `wp_navigation`). Posible solución: menús por idioma o mapa JS/PHP. ### 2) Los 3 posts de «Quiénes somos» | ID | Slug | Título | |----|------|--------| | 17563 | `colaboradores` | Colaboradores (índice, ~12 KB, enlaza las 30 fichas) | | 17564 | `paraponeraldialafe` | Para poner al día la FE (~3,2 KB) | | 17576 | `portal` | Este portal (~4 KB) | ### 3) Hijos: las 30 fichas de colaboradores Posts enlazados desde Colaboradores (17563). Cada uno es la bio/presentación de un colaborador (post_type `post`, publicados, solo ES): - `africa-de-la-cruz-tomas` — 22488 · «África de la Cruz Tomás» - `dolores-aleixandre` — 17600 · «Dolores Aleixandre» - `eloy-roy` — 17604 · «Eloy Roy» - `enrique-martinez-lozano` — 17603 · «Enrique Martínez Lozano» - `faustino-vilabrille-linares` — 18954 · «Faustino Vilabrille Linares» - `florentino-ulibarri` — 17609 · «Florentino Ulibarri» - `fray-marcos` — 17601 · «Fray Marcos» - `inma-calvo-torrejon-2` — 22487 · «Inma Calvo Torrejón» - `jose-antonio-pagola` — 17602 · «José Antonio Pagola» - `jose-arregi` — 17599 · «José Arregi» - `jose-enrique-galarreta` — 17611 · «José Enrique Galarreta» - `jose-sanchez-luque-2` — 19004 · «José Sánchez Luque» - `julian-mellado` — 17612 · «Julián Mellado» - `koldo-aldai` — 17608 · «Koldo Aldai» - `lenin-v-cardenas-torres` — 18875 · «Lenin V. Cárdenas Torres» - `mari-patxi-ayerra` — 17786 · «Mari Patxi Ayerra» - `mari-paz-l-santos` — 17805 · «Mari Paz López Santos» - `maria-teresa-sanchez-carmona-2` — 18425 · «Maria Teresa Sánchez Carmona» - `mariangeles-gonzalez-de-la-pena` — 17833 · «Mariangeles González de la Peña» - `marta-salazar` — 17613 · «Marta Salazar» - `matilde-gastalver` — 17607 · «Matilde Gastalver» - `rafael-calvo-beca` — 17610 · «Rafael Calvo Beca» - `ramon` — 22486 · «Ramón Hernández Martín» - `rogelio-cardenas-ponce-de-leon` — 18426 · «Rogelio Cárdenas Ponce de León» - `salome-arricibita` — 18424 · «Salomé Arricibita» - `sandra-hojman` — 17606 · «Sandra Hojman» - `vicente-martinez` — 17605 · «Vicente Martínez» - `vicky-irigaray` — 18783 · «Vicky Irigaray Bergara» - `victor-daniel-blanco-rodriguez` — 18427 · «Víctor Daniel Blanco Rodriguez» - `yolanda-chavez-2` — 19813 · «Yolanda Chávez» ## Estado actual - Los 3 posts y las 30 fichas: **idioma `es`**, sin entradas Polylang en EN/FR/IT/PT. - Menús: etiquetas solo en ES. ## Enfoque propuesto (para cuando se ejecute) 1. **Traducción con Gemma local** (política de modelos: Gemma 4 E4B Q8 como default), revisando nombres propios y términos religiosos. Las bios de colaboradores son texto sensible (nombres, cargos) → cuidado. 2. Crear los posts traducidos y **vincularlos con Polylang** (`pll_set_post_language` + `pll_save_post_translations`), preservando estructura HTML y reapuntando enlaces internos a sus equivalentes traducidos. 3. Resolver la i18n de **menús** (decisión técnica pendiente, ver ⚠️ arriba). 4. **Deploy a prod** (wp-nuevo): contenido domain-independent donde se pueda; subir vía `ssh cat` (scp no va); verificar server-side (Cloudflare bloquea headless). 5. Orden sugerido: primero los 3 posts de sección + menús (alto impacto, poco volumen); las 30 fichas como segundo lote. ## Notas - Total a traducir por idioma: **3 posts de sección + 30 fichas = 33 posts**, ×4 idiomas = **132 traducciones**. - Relacionado: multiidioma #75, #80, #88.
rafa closed this issue 2026-06-28 19:15:12 +00:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: rafa/feadulta#129