Comandos WP-CLI
Los siguientes comandos de WP-CLI están disponibles para traducir custom posts, términos de taxonomía (etiquetas y categorías), elementos multimedia, menús y usuarios.
Los comandos de WP-CLI se ejecutan por defecto sin un usuario con sesión iniciada. Para disponer de los permisos adecuados para crear las entradas de traducción, debes ejecutar los comandos con un contexto de usuario, mediante la opción --user:
wp gatotranslate post 123 --user=adminwp gatotranslate post
Traducir custom posts (entradas, páginas, tipos de entrada personalizados).
Uso
wp gatotranslate post <ids> [options]Parámetros
| Parámetro | Descripción |
|---|---|
<ids> | Lista de IDs de entrada a traducir, separados por comas o espacios |
Opciones
Si no se proporcionan, las opciones tomarán el valor de los Ajustes del plugin.
| Opción | Descripción | Valores posibles |
|---|---|---|
--translate-slugs=<bool> | Si traducir los slugs | true, false |
--default-provider=<provider> | Proveedor de traducción por defecto | chatgpt, claude, deepl, gemini, google_translate, deepseek, mistral, openrouter, self_hosted_llm |
--status-to-update=<status> | Estado que deben tener las entradas para ser actualizadas | draft, pending, publish, private, future, any |
--status-when-translated=<status> | Estado que tendrán las entradas tras la traducción | draft, pending, publish, private, current (es decir, no modificar el estado), same-as-origin (es decir, copiar el estado de la entrada de origen) |
--copy-date=<bool> | Si copiar la fecha de la entrada original | true, false |
--language-providers=<providers> | Cadena JSON con el mapeo de proveedores por idioma | Cadena JSON con códigos de idioma como claves, y como valores el nombre del proveedor, o "none" (para deshabilitarlo en ese idioma), o "default" (para usar el proveedor por defecto) |
--tasks=<tasks> | Lista separada por comas de tareas a ejecutar | translate-content, translate-entity-relationships, replace-internal-links |
--parts=<parts> | Lista separada por comas de partes del contenido a modificar | properties (título, slug y extracto), content (contenido de la entrada), meta (campos personalizados) |
--porcelain | Mostrar solo la información esencial, apta para ser procesada por scripts | No requiere valor (flag) |
--fail-if-log-notifications | Fallar si se añaden notificaciones al log durante la ejecución | No requiere valor (flag) |
--process-failed | Procesar únicamente las traducciones fallidas | No requiere valor (flag) |
Ejemplos
# Translate post with ID 123
wp gatotranslate post 123 --user=admin
# Translate posts with IDs 123, 456, and 789
wp gatotranslate post 123,456,789 --user=admin
# Translate posts with IDs 123 and 456
wp gatotranslate post "123 456" --user=admin
# Translate post replicating the status and date of the original post
wp gatotranslate post 123 --user=admin --status-when-translated=same-as-origin --copy-date=true
# Translate post using ChatGPT as default provider
wp gatotranslate post 123 --user=admin --default-provider=chatgpt
# Translate post with a specific provider for each language
wp gatotranslate post 123 --user=admin --language-providers='{"es":"chatgpt","fr":"deepl"}'
# Translate post disabling a specific language
wp gatotranslate post 123 --user=admin --language-providers='{"de":"none"}'
# Translate only post properties (title, slug, and excerpt)
wp gatotranslate post 123 --user=admin --parts=properties
# Translate only post content and meta
wp gatotranslate post 123 --user=admin --parts=content,meta
# Only update the entity relationships for the target language
wp gatotranslate post 123 --user=admin --tasks=translate-entity-relationships
# Re-run translations for previously failed posts/languages only
wp gatotranslate post "123 456" --user=admin --process-failedwp gatotranslate term
Traducir términos de taxonomía (categorías, etiquetas, taxonomías personalizadas).
Uso
wp gatotranslate term <ids> [options]Parámetros
| Parámetro | Descripción |
|---|---|
<ids> | Lista de IDs de términos a traducir, separados por comas o espacios |
Opciones
| Opción | Descripción | Valores posibles |
|---|---|---|
--translate-slugs=<bool> | Si traducir los slugs | true, false |
--default-provider=<provider> | Proveedor de traducción por defecto | chatgpt, claude, deepl, gemini, google_translate, deepseek, mistral, openrouter, self_hosted_llm |
--language-providers=<providers> | Cadena JSON con el mapeo de proveedores por idioma | Cadena JSON con códigos de idioma como claves, y como valores el nombre del proveedor, o "none" (para deshabilitarlo en ese idioma), o "default" (para usar el proveedor por defecto) |
--tasks=<tasks> | Lista separada por comas de tareas a ejecutar | translate-content, translate-entity-relationships |
--parts=<parts> | Lista separada por comas de partes del contenido a modificar | properties (nombre, slug), content (descripción), meta (campos personalizados) |
--porcelain | Mostrar solo la información esencial, apta para ser procesada por scripts | No requiere valor (flag) |
--fail-if-log-notifications | Fallar si se añaden notificaciones al log durante la ejecución | No requiere valor (flag) |
--process-failed | Procesar únicamente las traducciones fallidas | No requiere valor (flag) |
Ejemplos
# Translate term with ID 1
wp gatotranslate term 1 --user=admin
# Translate terms with IDs 1, 2, and 3
wp gatotranslate term 1,2,3 --user=admin
# Translate term 1 disabling slug translation, and using OpenRouter as default provider
wp gatotranslate term 1 --user=admin --translate-slugs=false --default-provider=openrouterr
# Translate term 1 with a specific provider for each language
wp gatotranslate term 1 --user=admin --language-providers='{"es":"chatgpt","fr":"deepl"}'
# Translate disabling a specific language
wp gatotranslate term 1 --user=admin --language-providers='{"de":"none"}'
# Translate only term name and slug
wp gatotranslate term 1 --user=admin --parts=properties
# Translate only term description and meta
wp gatotranslate term 1 --user=admin --parts=content,meta
# Only update the entity relationships for the target language
wp gatotranslate term 1 --user=admin --tasks=translate-entity-relationships
# Re-run translations for previously failed terms/languages only
wp gatotranslate term 1,2,3 --user=admin --process-failedwp gatotranslate media
Traducir elementos multimedia (adjuntos).
Uso
wp gatotranslate media <ids> [options]Parámetros
| Parámetro | Descripción |
|---|---|
<ids> | Lista de IDs de elementos multimedia a traducir, separados por comas o espacios |
Opciones
| Opción | Descripción | Valores posibles |
|---|---|---|
--translate-slugs=<bool> | Si traducir los slugs | true, false |
--default-provider=<provider> | Proveedor de traducción por defecto | chatgpt, claude, deepl, gemini, google_translate, deepseek, mistral, openrouter, self_hosted_llm |
--language-providers=<providers> | Cadena JSON con el mapeo de proveedores por idioma | Cadena JSON con códigos de idioma como claves, y como valores el nombre del proveedor, o "none" (para deshabilitarlo en ese idioma), o "default" (para usar el proveedor por defecto) |
--tasks=<tasks> | Lista separada por comas de tareas a ejecutar | translate-content, translate-entity-relationships, replace-internal-links |
--parts=<parts> | Lista separada por comas de partes del contenido a modificar | properties (título, slug), content (texto alternativo, leyenda y descripción), meta (campos personalizados) |
--porcelain | Mostrar solo la información esencial, apta para ser procesada por scripts | No requiere valor (flag) |
--fail-if-log-notifications | Fallar si se añaden notificaciones al log durante la ejecución | No requiere valor (flag) |
--process-failed | Procesar únicamente las traducciones fallidas | No requiere valor (flag) |
Ejemplos
# Translate media item with ID 10
wp gatotranslate media 10 --user=admin
# Translate media items with IDs 10, 11, 12
wp gatotranslate media 10,11,12 --user=admin
# Translate media item with a specific provider for each language
wp gatotranslate media 10 --user=admin --language-providers='{"es":"chatgpt","fr":"deepl"}'
# Translate disabling specific languages
wp gatotranslate media 10 --user=admin --language-providers='{"de":"none","zh":"none"}'
# Translate only media title and slug
wp gatotranslate media 10 --user=admin --parts=properties
# Translate only media content (alt text, caption, and description) and meta
wp gatotranslate media 10 --user=admin --parts=content,meta
# Only update the entity relationships for the target language
wp gatotranslate media 10 --user=admin --tasks=translate-entity-relationships
# Re-run translations for previously failed media items/languages only
wp gatotranslate media 10,11,12 --user=admin --process-failedwp gatotranslate menu
Traducir menús.
Solo se traducen los menús en el idioma de origen. Como Polylang no almacena el idioma de los menús, esta información se determina a partir de las ubicaciones de menú asignadas.
La traducción se dispara para un menú únicamente si:
- El menú tiene al menos una ubicación ya asignada
- Ninguna de sus ubicaciones corresponde a un idioma de traducción
Uso
wp gatotranslate menu <ids> [options]Parámetros
| Parámetro | Descripción |
|---|---|
<ids> | Lista de IDs de menús a traducir, separados por comas o espacios |
Opciones
| Opción | Descripción | Valores posibles |
|---|---|---|
--default-provider=<provider> | Proveedor de traducción por defecto | chatgpt, claude, deepl, gemini, google_translate, deepseek, mistral, openrouter, self_hosted_llm |
--language-providers=<providers> | Cadena JSON con el mapeo de proveedores por idioma | Cadena JSON con códigos de idioma como claves, y como valores el nombre del proveedor, o "none" (para deshabilitarlo en ese idioma), o "default" (para usar el proveedor por defecto) |
--porcelain | Mostrar solo la información esencial, apta para ser procesada por scripts | No requiere valor (flag) |
--fail-if-log-notifications | Fallar si se añaden notificaciones al log durante la ejecución | No requiere valor (flag) |
Ejemplos
# Translate menu with ID 5
wp gatotranslate menu 5 --user=admin
# Translate menus with IDs 5, 6, and 7
wp gatotranslate menu 5,6,7 --user=admin
# Translate menu with a specific provider for each language
wp gatotranslate menu 5 --user=admin --language-providers='{"es":"chatgpt","fr":"deepl"}'
# Translate disabling specific languages
wp gatotranslate menu 5 --user=admin --language-providers='{"de":"none","zh":"none"}'wp gatotranslate user
Traducir descripciones de usuario.
Uso
wp gatotranslate user <ids> [options]Parámetros
| Parámetro | Descripción |
|---|---|
<ids> | Lista de IDs de usuario a traducir, separados por comas o espacios |
Opciones
| Opción | Descripción | Valores posibles |
|---|---|---|
--default-provider=<provider> | Proveedor de traducción por defecto | chatgpt, claude, deepl, gemini, google_translate, deepseek, mistral, openrouter, self_hosted_llm |
--language-providers=<providers> | Cadena JSON con el mapeo de proveedores por idioma | Cadena JSON con códigos de idioma como claves, y como valores el nombre del proveedor, o "none" (para deshabilitarlo en ese idioma), o "default" (para usar el proveedor por defecto) |
--porcelain | Mostrar solo la información esencial, apta para ser procesada por scripts | No requiere valor (flag) |
--fail-if-log-notifications | Fallar si se añaden notificaciones al log durante la ejecución | No requiere valor (flag) |
Ejemplos
# Translate user with ID 1
wp gatotranslate user 1 --user=admin
# Translate users with IDs 1, 2, and 3
wp gatotranslate user 1,2,3 --user=admin
# Translate users with IDs 1 and 2
wp gatotranslate user "1 2" --user=admin
# Translate user using ChatGPT as default provider
wp gatotranslate user 1 --user=admin --default-provider=chatgpt
# Translate user with a specific provider for each language
wp gatotranslate user 1 --user=admin --language-providers='{"es":"chatgpt","fr":"deepl"}'
# Translate user disabling a specific language
wp gatotranslate user 1 --user=admin --language-providers='{"de":"none"}'