WPML

問題の概要

TablePressプラグインを使用してテーブルを作成した場合、WPMLで翻訳することはできません。WPMLは、翻訳エディタでテーブルのセルを個別のテキストとして表示しません。

回避策

TablePressのテーブルを複数の言語で表示するには、3つの方法があります。いずれかの方法を選択してください。

オプション1:言語ごとに1つのテーブル(推奨)

各言語用に1つのテーブルを作成します。次に、それぞれのテーブルをその言語のページに追加します。TablePressの開発者もこの解決策を推奨しています (新しいタブで開く)。
  1. TablePressすべてのテーブルに移動します。
  2. 元のテーブルにカーソルを合わせ、コピーをクリックします。

    TablePressのすべてのテーブルページでのコピーアクション
    TablePressのすべてのテーブルページでのコピーアクション

  3. コピーを編集し、TablePress内でセルの内容を翻訳します。
  4. 翻訳されたページにコピーを追加します。TablePress tableブロックまたはコピーのショートコードを使用します。

オプション2:Row Filtering(TablePress Premium版)

TablePress PremiumのRow Filteringモジュール (新しいタブで開く)を使用します。各言語用に各行をコピーします。追加した非表示の最初の列などで、言語コードをフィルター条件として使用します。

オプション3:WPMLでテーブルを翻訳する(高度な設定)

このオプションは、オプション1と2が機能しない場合にのみ使用してください。開始する前に必ずサイトの完全なバックアップを作成してください。

制限事項:TablePressは、テーブルのすべてのセルを1つのコードブロックとして保存します。WPMLはこのブロックを1つのフィールドとして翻訳エディタに送信します。

  • 高度な翻訳エディタではセルを翻訳できません。
  • クラシック翻訳エディタでは、セルを[["Tour","Days","Price"],["Coastal Loop","2","240 EUR"]]のような生のコードとしてのみ編集できます。引用符内の単語のみを翻訳してください。すべての括弧、引用符、カンマをそのまま維持してください。1つでも間違えるとテーブルが壊れます。
以下の手順に従います。
  1. WPML設定翻訳エディタに移動します。クラシック翻訳エディタの下にある選択をクリックします。
  2. WPML設定投稿タイプの翻訳に移動します。TablePress Tablesを翻訳可能 – 翻訳されたアイテムのみを表示に設定し、保存をクリックします。
    TablePress Tables投稿タイプを翻訳可能にする
    TablePress Tables投稿タイプを翻訳可能にする
  3. WPML設定カスタムフィールド翻訳に移動します。システムフィールドを表示をクリックします。以下のフィールドをコピーに設定し、保存をクリックします。
    • _tablepress_table_options
    • _tablepress_table_visibility

    2つのTablePressシステムフィールドをコピーに設定する
    2つのTablePressシステムフィールドをコピーに設定する

  4. WPML翻訳に移動し、ダッシュボードタブを開きます。TablePress Tablesセクションで、テーブルを選択します。コンテンツを翻訳をクリックし、自分で翻訳を選択してコンテンツを翻訳をクリックします。

    翻訳ダッシュボードでテーブルを選択する
    翻訳ダッシュボードでテーブルを選択する

  5. 翻訳タスクタブに移動し、テーブルの行にある翻訳をクリックします。
  6. 本文フィールドで、コードタブをクリックします。上記で説明したように、そこでセルを翻訳します。ビジュアルタブは使用しないでください。各フィールドで翻訳が完了しましたを選択し、保存して閉じるをクリックします。

    クラシック翻訳エディタでの生のコードとしてのテーブルセル
    クラシック翻訳エディタでの生のコードとしてのテーブルセル

  7. 翻訳されたテーブルのIDを取得します。
    1. 翻訳タスクタブで、テーブルの行を探します。行がない場合、ジョブは別の翻訳者に割り当てられています。まずジョブを引き受けてください。
    2. 表示をクリックします。

      翻訳タスクタブの表示ボタン
      翻訳タスクタブの表示ボタン

    3. ブラウザでexample.com/fr/?post_type=tablepress_table&p=8のようなアドレスが開きます。p=の後の数字が翻訳されたテーブルのIDです。ページには「ページが見つかりません」と表示されます。TablePressのテーブルは公開ページではないため、これは正常な動作です。
  8. 文字列タブに移動します。ユーティリティセクションのお探しの文字列が見つかりませんか?の下にある、管理テキスト翻訳をクリックします。

    ユーティリティセクションの管理テキスト翻訳へのリンク
    ユーティリティセクションの管理テキスト翻訳へのリンク

  9. tablepress_tablesを検索します。結果を選択し、文字列翻訳に追加をクリックします。

    tablepress_tablesオプションを文字列翻訳に追加する
    tablepress_tablesオプションを文字列翻訳に追加する

  10. 文字列タブに戻ります。ドメインのドロップダウンでadmin_texts_tablepress_tablesを選択し、フィルターをクリックします。
  11. 元のテーブルのIDを探します。文字列には"table_post":{"1":5}のようなペアが含まれています。最初の数字はTablePressすべてのテーブルに表示されるテーブルIDです。2番目の数字は元のテーブルのIDです。
  12. 鉛筆アイコンをクリックして文字列を翻訳します。元の文字列を翻訳にコピーします。次に、元のテーブルのID(この例では5)を翻訳されたテーブルのID(この例では8)に置き換えます。Enterキーを押して保存します。
    元のテーブルIDを翻訳されたテーブルIDに置き換える
    元のテーブルIDを翻訳されたテーブルIDに置き換える
  13. 通常通り、テーブルを表示するページを翻訳します。テーブルブロックまたはショートコードは同じテーブルIDを維持します。これで、翻訳されたページに翻訳されたテーブルが表示されるようになります。

すべての既知の問題

この問題についてサポートが必要な場合

サポートのご質問をお寄せください。一緒に調査いたします。