Manual de desarrollador — Traductor Digixop Pro

Versión 2.0.11 · Integración, proxy propio y Google Cloud (BYO)

No pegues API keys, secretos de webhook ni contraseñas en repositorios ni en tickets públicos. Usa variables de entorno, wp-config.php fuera de Git o gestores de secretos.

Fuente detallada en Markdown: MANUAL-DESARROLLADOR-TRADUCTOR-DIGIXOP-PRO.md

1. Arquitectura

WordPress ejecuta el plugin. En DTL el servidor WP hace HTTPS POST a tu translate-proxy.php. En BYO el mismo servidor WP llama a la API pública de Google v2.

WordPress (plugin)
  ├─ DTL  → POST JSON → tu translate-proxy.php → Google (clave solo servidor)
  └─ BYO  → Google v2 ?key=TU_CLAVE_RESTRINGIDA

2. Archivos clave

  • traductor-digixop-pro.php — bootstrap y constantes por defecto.
  • includes/class-digixop-translator-lite.php — núcleo.
  • includes/class-digixop-translator-license.php — activación remota.
  • includes/class-digixop-translation-cache.php — tabla TM.
  • includes/admin-unified-view.php — UI.

3. Opciones

ClaveDescripción breve
digixop_translator_lite_optionsModo, idiomas, CPTs, flags, glosarios.
digixop_translator_licenseEstado de licencia sincronizado con tu API.
digixop_translator_local_balance_remainingSaldo UI tras proxy.
_digixop_src_fingerprint (meta)Huella para retraducción.

4. Constantes (wp-config)

Ejemplos de nombres: DIGIXOP_TDL_TRANSLATE_PROXY_URL, DIGIXOP_TDL_LICENSE_ACTIVATE_URL, DIGIXOP_TDL_PROXY_USE_JSON, DIGIXOP_TRANSLATOR_DEBUG, DIGIXOP_TDL_ELEMENTOR_SAFE_COPY. Valores = URLs HTTPS de tu entorno, nunca datos reales en docs.

5. Google Cloud (BYO)

  1. Proyecto GCP → habilitar Cloud Translation API.
  2. Crear API key y restringirla (IP del servidor, APIs permitidas).
  3. Configurar modo BYO en el plugin y probar en staging.
  4. Monitorizar cuotas y facturación en la consola Google.

6. Proxy DTL

Contrato de campos JSON, cabeceras y respuestas: ver API-SAAS.md. Tu proxy debe validar licencia, aplicar política de saldo y nunca devolver al cliente la API key maestra de Google.

7. Activación

El plugin habla con activate-license.php. Tu backend fija dominio, saldo inicial y errores legibles sin filtrar secretos internos.

8. Memoria de traducción

Tabla {prefijo}dx_translations_cache, hash por texto+idioma+tipo. El proxy no implementa esta capa.

9. Acciones AJAX (admin)

Por ejemplo: digixop_translate_single, digixop_translate_wpml_taxonomy, digixop_empty_translation_memory, digixop_license_activate, … Nonces y capabilities en el código fuente.

10. Filtros útiles

  • digixop_translator_buy_credits_url
  • digixop_translator_quota_reload_url
  • digixop_translator_update_translation_when_source_changes
  • digixop_translator_language_badge_colors
  • digixop_translator_buy_credits_license_param

Acción: digixop_translator_glossary_rules_updated.

11. Referencias