Команды WP-CLI
Следующие команды WP-CLI доступны для перевода custom posts, терминов таксономии (теги и категории), медиафайлов, меню и пользователей.
Команды WP-CLI по умолчанию выполняются без авторизованного пользователя. Для получения необходимых прав на создание записей перевода необходимо запускать команды в контексте пользователя с помощью опции --user:
wp gatotranslate post 123 --user=adminwp gatotranslate post
Перевод custom posts (записей, страниц, пользовательских типов записей).
Использование
wp gatotranslate post <ids> [options]Параметры
| Параметр | Описание |
|---|---|
<ids> | Список ID записей для перевода, разделённых запятыми или пробелами |
Опции
Если опции не указаны, будут использованы значения из настроек плагина.
| Опция | Описание | Возможные значения |
|---|---|---|
--translate-slugs=<bool> | Переводить ли слаги | true, false |
--default-provider=<provider> | Поставщик перевода по умолчанию | chatgpt, claude, deepl, gemini, google_translate, deepseek, mistral, openrouter, self_hosted_llm |
--status-to-update=<status> | Статус, который должны иметь записи для обновления | draft, pending, publish, private, future, any |
--status-when-translated=<status> | Статус записей после перевода | draft, pending, publish, private, current (т.е. не изменять статус), same-as-origin (т.е. скопировать статус из исходной записи) |
--copy-date=<bool> | Копировать ли дату из исходной записи | true, false |
--language-providers=<providers> | JSON-строка с маппингом поставщиков по языкам | JSON-строка с кодами языков в качестве ключей и именем поставщика, или "none" (для отключения для этого языка), или "default" (для использования поставщика по умолчанию) в качестве значений |
--tasks=<tasks> | Список задач для выполнения через запятую | translate-content, translate-entity-relationships, replace-internal-links |
--parts=<parts> | Список частей контента для изменения через запятую | properties (заголовок, слаг и выдержка), content (содержимое записи), meta (пользовательские поля) |
--porcelain | Выводить только основную информацию, пригодную для обработки скриптами | Значение не требуется (флаг) |
--fail-if-log-notifications | Завершать с ошибкой, если во время выполнения добавляются уведомления в лог | Значение не требуется (флаг) |
--process-failed | Обрабатывать только неудавшиеся переводы | Значение не требуется (флаг) |
Примеры
# 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
Перевод терминов таксономии (категории, теги, пользовательские таксономии).
Использование
wp gatotranslate term <ids> [options]Параметры
| Параметр | Описание |
|---|---|
<ids> | Список ID терминов для перевода, разделённых запятыми или пробелами |
Опции
| Опция | Описание | Возможные значения |
|---|---|---|
--translate-slugs=<bool> | Переводить ли слаги | true, false |
--default-provider=<provider> | Поставщик перевода по умолчанию | chatgpt, claude, deepl, gemini, google_translate, deepseek, mistral, openrouter, self_hosted_llm |
--language-providers=<providers> | JSON-строка с маппингом поставщиков по языкам | JSON-строка с кодами языков в качестве ключей и именем поставщика, или "none" (для отключения для этого языка), или "default" (для использования поставщика по умолчанию) в качестве значений |
--tasks=<tasks> | Список задач для выполнения через запятую | translate-content, translate-entity-relationships |
--parts=<parts> | Список частей контента для изменения через запятую | properties (название, слаг), content (описание), meta (пользовательские поля) |
--porcelain | Выводить только основную информацию, пригодную для обработки скриптами | Значение не требуется (флаг) |
--fail-if-log-notifications | Завершать с ошибкой, если во время выполнения добавляются уведомления в лог | Значение не требуется (флаг) |
--process-failed | Обрабатывать только неудавшиеся переводы | Значение не требуется (флаг) |
Примеры
# 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
Перевод медиафайлов (вложений).
Использование
wp gatotranslate media <ids> [options]Параметры
| Параметр | Описание |
|---|---|
<ids> | Список ID медиафайлов для перевода, разделённых запятыми или пробелами |
Опции
| Опция | Описание | Возможные значения |
|---|---|---|
--translate-slugs=<bool> | Переводить ли слаги | true, false |
--default-provider=<provider> | Поставщик перевода по умолчанию | chatgpt, claude, deepl, gemini, google_translate, deepseek, mistral, openrouter, self_hosted_llm |
--language-providers=<providers> | JSON-строка с маппингом поставщиков по языкам | JSON-строка с кодами языков в качестве ключей и именем поставщика, или "none" (для отключения для этого языка), или "default" (для использования поставщика по умолчанию) в качестве значений |
--tasks=<tasks> | Список задач для выполнения через запятую | translate-content, translate-entity-relationships, replace-internal-links |
--parts=<parts> | Список частей контента для изменения через запятую | properties (заголовок, слаг), content (альтернативный текст, подпись и описание), meta (пользовательские поля) |
--porcelain | Выводить только основную информацию, пригодную для обработки скриптами | Значение не требуется (флаг) |
--fail-if-log-notifications | Завершать с ошибкой, если во время выполнения добавляются уведомления в лог | Значение не требуется (флаг) |
--process-failed | Обрабатывать только неудавшиеся переводы | Значение не требуется (флаг) |
Примеры
# 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
Перевод меню.
Переводятся только меню на исходном языке. Поскольку Polylang не хранит язык для меню, эта информация определяется на основе назначенных позиций меню.
Перевод запускается для меню только если:
- Меню имеет хотя бы одну уже назначенную позицию
- Ни одна из его позиций не предназначена для языка перевода
Использование
wp gatotranslate menu <ids> [options]Параметры
| Параметр | Описание |
|---|---|
<ids> | Список ID меню для перевода, разделённых запятыми или пробелами |
Опции
| Опция | Описание | Возможные значения |
|---|---|---|
--default-provider=<provider> | Поставщик перевода по умолчанию | chatgpt, claude, deepl, gemini, google_translate, deepseek, mistral, openrouter, self_hosted_llm |
--language-providers=<providers> | JSON-строка с маппингом поставщиков по языкам | JSON-строка с кодами языков в качестве ключей и именем поставщика, или "none" (для отключения для этого языка), или "default" (для использования поставщика по умолчанию) в качестве значений |
--porcelain | Выводить только основную информацию, пригодную для обработки скриптами | Значение не требуется (флаг) |
--fail-if-log-notifications | Завершать с ошибкой, если во время выполнения добавляются уведомления в лог | Значение не требуется (флаг) |
Примеры
# 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
Перевод описаний пользователей.
Использование
wp gatotranslate user <ids> [options]Параметры
| Параметр | Описание |
|---|---|
<ids> | Список ID пользователей для перевода, разделённых запятыми или пробелами |
Опции
| Опция | Описание | Возможные значения |
|---|---|---|
--default-provider=<provider> | Поставщик перевода по умолчанию | chatgpt, claude, deepl, gemini, google_translate, deepseek, mistral, openrouter, self_hosted_llm |
--language-providers=<providers> | JSON-строка с маппингом поставщиков по языкам | JSON-строка с кодами языков в качестве ключей и именем поставщика, или "none" (для отключения для этого языка), или "default" (для использования поставщика по умолчанию) в качестве значений |
--porcelain | Выводить только основную информацию, пригодную для обработки скриптами | Значение не требуется (флаг) |
--fail-if-log-notifications | Завершать с ошибкой, если во время выполнения добавляются уведомления в лог | Значение не требуется (флаг) |
Примеры
# 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"}'