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
| Clave | Descripción breve |
|---|---|
digixop_translator_lite_options | Modo, idiomas, CPTs, flags, glosarios. |
digixop_translator_license | Estado de licencia sincronizado con tu API. |
digixop_translator_local_balance_remaining | Saldo 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)
- Proyecto GCP → habilitar Cloud Translation API.
- Crear API key y restringirla (IP del servidor, APIs permitidas).
- Configurar modo BYO en el plugin y probar en staging.
- 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_urldigixop_translator_quota_reload_urldigixop_translator_update_translation_when_source_changesdigixop_translator_language_badge_colorsdigixop_translator_buy_credits_license_param
Acción: digixop_translator_glossary_rules_updated.