web-dev-qa-db-ja.com

ビューのコンテンツアイテムを「自分の言語」で取得し、コンテンツが翻訳されていない場合に「デフォルト」に戻すにはどうすればよいですか?

これはおそらく非常に簡単ですが、無限の検索は無益であることが判明しました。これらのモジュールのD7バージョンとD8バージョンの間にUIの変更がたくさんあるようです。

私がやりたいことは、2つの言語でブログを作成することです。デフォルトの言語は英語です。ほとんどの場合、著者は記事をイタリア語に翻訳します。ただし、次のようなブログビューを作成します。

  1. ノードごとに、リストに表示される翻訳は1つだけです
  2. サイトをイタリア語で表示しているが、特定のリストアイテムがイタリア語に翻訳されていない場合は、英語版が表示されます(デフォルトの言語に戻ります)
  3. 彼がイタリア語版しか書いていない場合は、とにかく存在しない英語版の代わりにそれを示してください

ビューのオプションは他の場所と同じように見えますが、他の場所ではこれは実際には問題ではありません。標準ノードでは、フォールバックが自動的に開始されます。これを構成する方法のアイデアはありますか?

9
NikLP

私はあなたの要件を次のように再構成できると思います:

  1. すべてのコンテンツを一度表示します。
  2. 現在の言語でコンテンツを表示し、他の言語にフォールバックします。

それからそれはかなり簡単になります:

  1. 「デフォルトの翻訳」フィルターをビューに追加します。各ノードはデフォルトの変換を1つしか持つことができないため、これにより基本的にすべてのノードが一度に表示されます。
  2. 「レンダリング」の言語は「ページ用に選択されたインターフェースのテキスト言語」を選択します。それは現在の言語でサイトを表示しようとし、それが利用できない場合はフォールバックします。 (インターフェイスのテキストは少し誤解を招くように聞こえますが、個別のコンテンツ言語の交渉を明示的に有効にしない限り、それはコンテンツ言語と同じです)。
25
Berdir