上級
上級WP-CLIコマンド

WP-CLIコマンド

以下の WP-CLI コマンドを使用して、カスタム投稿、タクソノミーターム(タグとカテゴリー)、メディアアイテム、メニュー、ユーザーを翻訳することができます。

WP-CLIコマンドはデフォルトでログインユーザーなしで実行されます。翻訳エントリを作成するための適切な権限を持つために、--user オプションを使用してユーザーコンテキスト付きでコマンドを実行する必要があります:

wp gatotranslate post 123 --user=admin

wp gatotranslate post

カスタム投稿(投稿、固定ページ、カスタム投稿タイプ)を翻訳します。

使い方

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文字列言語コードをキーとし、プロバイダー名、"none"(その言語を無効化)、または "default"(デフォルトプロバイダーを使用)を値とするJSON文字列
--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-failed

wp 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文字列言語コードをキーとし、プロバイダー名、"none"(その言語を無効化)、または "default"(デフォルトプロバイダーを使用)を値とするJSON文字列
--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-failed

wp 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文字列言語コードをキーとし、プロバイダー名、"none"(その言語を無効化)、または "default"(デフォルトプロバイダーを使用)を値とするJSON文字列
--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-failed

wp gatotranslate menu

メニューを翻訳します。

翻訳されるのは元の言語のメニューのみです。Polylangはメニューの言語情報を保存しないため、この情報は割り当てられたメニューの場所から判定されます。

メニューの翻訳は、以下の条件をすべて満たす場合にのみ実行されます:

  • メニューに少なくとも1つのメニューの場所が割り当てられている
  • その場所のいずれも翻訳言語用ではない

使い方

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文字列言語コードをキーとし、プロバイダー名、"none"(その言語を無効化)、または "default"(デフォルトプロバイダーを使用)を値とするJSON文字列
--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文字列言語コードをキーとし、プロバイダー名、"none"(その言語を無効化)、または "default"(デフォルトプロバイダーを使用)を値とするJSON文字列
--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"}'