Traducir campos seleccionados de una carga JSON

pom_translate_translate_json_payload( $data, string $locale, string $context = '', ?string $current_key = null, ?array $allowlist = null, ?bool $allow_translation = null ) procesa de forma recursiva matrices y objetos.

Pasa una lista de permitidos explícita para cargas que pertenecen a integraciones:

$data = pom_translate_translate_json_payload(
    $data,
    'es_ES',
    'rest',
    null,
    array( 'title', 'message' )
);

Las solicitudes en el locale base devuelven los datos originales. Los valores que no son cadenas y los tokens de marcador de posición protegidos permanecen sin cambios. Las cadenas HTML utilizan el traductor de fragmentos HTML; las cadenas planas de REST/AJAX utilizan las traducciones ya registradas sin crear entradas desconocidas.

Una lista de permitidos vacía permite todas las ramas, por lo que las integraciones públicas normalmente deberían proporcionar claves textuales exactas o extender el filtro de lista de permitidos de campos correspondiente. Nunca traduzcas IDs, URLs, importes, booleanos, tokens ni claves de esquema.

La traducción modifica las propiedades del objeto en el objeto devuelto. Valida el esquema final de la respuesta y escapa en el límite de serialización o de renderizado.