
🚀 Traducción masiva de archivos .po en Lokalise mediante la consola del navegador
Cuando un tema o plugin de WordPress se distribuye sin traducción al ruso y el archivo .po contiene mil cadenas o más, traducir manualmente cada una mediante Poedit se convierte en un trabajo de varios días. Para muchos clientes, la traducción automática es perfectamente aceptable: Google Translate produce resultados decentes para cadenas de interfaz, y solo un par de docenas de lugares requieren un pulido manual.
El problema es que Lokalise, una potente plataforma de gestión de traducciones, no ofrece un botón de «traducir todo a la vez» de fábrica. Usted debe pulsar el botón de traducción automática de Google Translate por separado para cada cadena. Esa limitación es justamente la que vamos a sortear: un pequeño script ejecutado en la consola del navegador simula pulsar ese botón para toda la lista de cadenas. El método se ha probado en proyectos que van de 200 a más de 3000 cadenas.
💡 Resumen rápido:
- Prepare un archivo PO a partir de una plantilla POT en Poedit usando traducciones de relleno en inglés.
- Cree un proyecto en Lokalise, suba el archivo de origen y añada un idioma de destino.
- Copie las claves al idioma de destino y ejecute el script en la consola del navegador.
- Tenga en cuenta la carga diferida por AJAX: ejecute el script tantas veces como Lokalise cargue nuevos lotes de cadenas.
Qué es Lokalise y por qué usarlo para traducir archivos.po
Lokalise es un Sistema de Gestión de Traducciones (TMS, por sus siglas en inglés) que admite archivos .po/.pot de forma nativa. La plataforma se integra con Google Translate, DeepL y su propio motor de IA, lo que le permite obtener una traducción automática de cualquier cadena con un solo clic. La pega es que un clic por proyecto no basta: usted debe pulsar el botón de traducción automática para cada cadena individualmente.
Para archivos pequeños de 50 a 100 cadenas, esto es tolerable. Pero un .pot real de un plugin o tema rara vez contiene menos de 500 cadenas, y los productos grandes (WooCommerce, temas con maquetadores visuales) superan fácilmente las 2000. El script jQuery de este artículo se escribió precisamente para esos casos: «pulsa» el botón de traducir por cada cadena actualmente visible en pantalla.
Paso 1: crear un archivo.po a partir de un.pot en Poedit
Antes de trabajar con Lokalise, usted necesita un archivo .po en inglés generado a partir de una plantilla .pot. Descargue e instale Poedit, un editor de traducciones gratuito para Windows, macOS y Linux.
Abra el archivo .pot del tema o plugin en Poedit y pulse el botón «Crear nueva traducción»:

En el diálogo que se abre, seleccione inglés; este será el idioma de origen para Lokalise:

Pulse «Guardar como» y guarde el archivo con extensión .po. El contenido real de las cadenas no importa en esta etapa; no traduciremos nada en Poedit y todas las cadenas permanecerán en inglés como marcadores de posición.

Ahora tiene un archivo .po con las cadenas originales en inglés. Pasemos a Lokalise propiamente dicho.
Paso 2: crear un proyecto de traducción en Lokalise
Regístrese en lokalise.com; el período de prueba gratuito es suficiente para una traducción puntual. Tras iniciar sesión, pulse «Añadir un proyecto» en el centro de la pantalla:

Rellene los campos: nombre del proyecto (el que prefiera, por ejemplo «Traducción del tema X») y seleccione Inglés como idioma base. Lokalise lo usará como origen para la traducción automática a otros idiomas. Pulse «Crear».

Paso 3: subir el archivo.po preparado
En el proyecto recién creado, pulse el botón verde con una flecha hacia arriba para subir un archivo:

Aparecerá un diálogo de subida. Arrastre y suelte el archivo .po en él, o pulse el área para seleccionar un archivo mediante el Explorador de Windows:

Importante: establezca el idioma del archivo en inglés. Si el idioma del archivo no coincide con el idioma base del proyecto, el botón de traducción automática de Google Translate no aparecerá porque la plataforma no puede determinar el idioma de origen.
Haga clic en «Importar los archivos»:

Una vez que finalice la importación, haga clic en «Ir al proyecto» para acceder al espacio de trabajo con la lista de cadenas.
Paso 4: añada el idioma de traducción de destino
Haga clic en el icono de más en el panel de idiomas para añadir el idioma al que desea traducir:

Seleccione el idioma del menú desplegable. Para ruso, elija ruso:

Paso 5: copie las claves al idioma de destino
Ahora mismo tiene una columna de cadenas en inglés, pero la columna de ruso está vacía. Necesita copiar allí las claves (cadenas originales); la traducción automática se aplicará sobre ellas.
Seleccione todas las cadenas (Ctrl+A), haga clic en el botón de acción que aparece y elija «Copiar claves a traducciones…». En el cuadro de diálogo, seleccione ruso y haga clic en «Copiar»:

La columna de ruso ahora contiene cadenas de marcador de posición en inglés que pueden recibir la traducción automática.
Paso 6: traducción automática masiva mediante la consola del navegador
Abra la consola de desarrollo: Ctrl+Mayús+I (Windows/Linux) o Cmd+Opción+I (macOS). A continuación se muestra el botón que nuestro script simula pulsar. En la interfaz actual de Lokalise tiene el aspecto de un icono de Google:

Este es el script que «hace clic» en este botón para todas las cadenas visibles:
1 /* Bulk Google Translate auto-translation in Lokalise */ 2 jQuery(document).ready(function ($) { 3 $('span.key-function-button.machine-all.fontello-google-circle').trigger('click'); 4 });
Copie el código, péguelo en la consola y pulse Enter. Las cadenas comenzarán a traducirse una por una.
Nota importante: Lokalise utiliza carga diferida AJAX y muestra las cadenas por lotes. Después de que el script procese las cadenas visibles, desplace la página hacia abajo para cargar otras nuevas aún sin traducir. Pegue el script de nuevo en la consola y pulse Enter. Repita el proceso hasta que todas las cadenas estén traducidas.
Para la versión antigua de la interfaz (si el botón de traducción automática tiene un aspecto diferente), utilice esta variante:

1 /* Simulated click on the Google translate button (old interface) */ 2 jQuery(document).ready(function ($) { 3 $('a.key-function-button.machine-all').trigger('click'); 4 });
Una vez que todas las cadenas estén traducidas, asegúrese de desplazarse por el proyecto hasta el final y verificar visualmente que cada cadena de la columna de traducción esté completa. Las cadenas omitidas o bien no se cargaron (vuelva a desplazarse) o la traducción automática falló para ellas (haga clic en el botón manualmente).

La traducción finalizada se puede descargar mediante el botón Descargar en la interfaz del proyecto. Recibirá un archivo .po listo para subir a WordPress.
A continuación, un breve video que muestra el flujo de trabajo completo con archivos .po en Lokalise, desde la carga hasta la exportación:
⁉️🤔 Preguntas frecuentes
El script no traduce las cadenas. ¿Qué está mal?
Primero, verifique que el idioma del archivo de origen durante la importación coincida con el idioma base del proyecto. Si el proyecto está configurado en inglés pero el archivo se subió como ruso, el botón de Google Translate no aparecerá. Segundo, abra la consola (F12) y compruebe si hay errores. Si jQuery no está definido, Lokalise ha cambiado su estructura y los selectores del script necesitan actualizarse. Tercero, asegúrese de haber copiado las claves al idioma de destino (paso 5); de lo contrario, no hay nada que traducir.
¿Puedo traducir usando DeepL en lugar de Google Translate?
Sí, si DeepL está habilitado en su proyecto. El principio es el mismo: el botón de traducción automática cambia, pero puede adaptar el script a un selector CSS diferente. Encuentre el elemento del botón de DeepL mediante el inspector (Ctrl+Shift+C), copie su clase o atributo y sustitúyalo en el selector
$('button-selector').trigger('click').
¿Cuántas cadenas se traducen en una sola ejecución del script?
Exactamente tantas como las que se muestran actualmente en pantalla. Lokalise carga las cadenas en lotes (normalmente de 50 a 100), por lo que después de cada desplazamiento debe ejecutar el script de nuevo. En un proyecto con 2000 cadenas, espere realizar de 5 a 7 ejecuciones.
¿Es seguro pegar código en la consola en el sitio de un tercero?
El script hace exactamente una cosa: hace clic programáticamente en un botón que, de otro modo, usted pulsaría manualmente. No se envían datos a ninguna parte; el código se ejecuta solo dentro de su navegador y únicamente en la página de Lokalise abierta. Dicho esto, una buena regla general es leer siempre el código antes de pegarlo en la consola, especialmente si no proviene de documentación oficial.
¿Qué ocurre si algunas cadenas permanecen en inglés después de la traducción?
Lo más probable es que no haya desplazado la página hasta el final y se haya saltado una de las cargas AJAX. Desplace el proyecto hasta el fondo, espere a que todos los lotes de cadenas se carguen por completo y ejecute el script de nuevo. Si algunas cadenas individuales siguen sin traducirse, haga clic manualmente en el botón de traducción automática para ellas (esto puede suceder si la API de Google Translate devolvió un error para una frase específica).
Cuándo la traducción por consola supera a la automatización integrada
El método de la consola no sustituye un flujo de trabajo completo con un TMS. Si se dedica profesionalmente a la localización, Lokalise ofrece procesamiento por lotes integrado (pretraducción), integraciones con herramientas TAO y traducción automática contextual. Pero para la tarea típica de traducir un único tema de WordPress y continuar, el enfoque de la consola ofrece resultados en 5 a 10 minutos sin necesidad de profundizar en la documentación de la plataforma.
Todo el proceso, desde instalar Poedit hasta el archivo .po final, se resume en tres pasos: preparar el archivo, subirlo a Lokalise, ejecutar el script. Si el volumen supera las 500 cadenas, el ahorro de tiempo en comparación con hacer clic manualmente en el botón para cada cadena asciende a decenas de minutos. Con más de 2000 cadenas, es la diferencia entre «terminado mientras toma un café» y «me llevó media jornada».



