1. 言語の代替

言語フォールバックを有効にして設定する

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

言語のフォールバック機能を使用するには、関連サイトおよび関連する項目、フィールド、テンプレートでアイテムレベルまたはフィールドレベルのフォールバックを有効にします。さらに、関連する言語定義項目で、現在の言語でバージョンがない場合に表示したい項目やフィールドの言語バージョンを決定するフォールバック言語を指定します。

!注同じ項目に対してアイテムレベルとフィールドレベルのフォールバックの両方を使うべきではありません。なぜなら、異なるアイテムやフィールドがフォールバックするバージョンの概要を維持するのが難しくなるからです。

このトピックでは、以下の方法を概説します:

サイトレベルの言語フォールバックを有効にする

Sitecoreソリューションで言語フォールバックを使えるようにするには、関連する各サイトごとにそれを有効にする必要があります。

サイトレベルの言語フォールバックを有効にするために:

  • \App_Config\Sitecore\Sitecore.Sites.configを開き、以下の属性をtrueに設定します:

    • enableItemLanguageFallback
    • enableFieldLanguageFallback

    シェルや関連する各ウェブサイトで属性を有効にする必要があります。

    true true true true

!注設定ファイルに直接変更を加えないでください。代わりに、実行時に必要な変更を行う パッチファイル を作成する必要があります。

複数サイト環境で、言語フォールバックを有効にしたいウェブサイトの一部だけにしたい場合、言語フォールバック機能を有効にしたい各ウェブサイトごとに専用のシェルサイトを作成する必要があります。

フォールバック言語ルールを指定してください

Sitecoreソリューションで言語フォールバックに使いたい各言語について、フォールバックしたい言語を指定する必要があります。言語定義項目で指定されたフォールバック言語は、言語フォールバックが有効なすべてのフィールドと項目に適用されます。

言語定義項目のフォールバック言語を指定するには:

  1. コンテンツツリーのコンテンツエディターで、フォールバック言語を指定する言語定義項目に移動してクリックしてください。言語定義項目はsitecore/system/Languagesにあります。

    !注Sitecoreインストールに言語を追加するには、コントロールパネルのローカリゼーションセクションで「新しい言語を追加」をクリックし、ウィザードの手順に従ってください。

  2. データセクションの**「Fallback Language**」欄で、該当する言語名(例えばen-AU)を入力してください。

    The Fallback Language item
  3. 変更を保存してください。

!注言語のフォールバックの連鎖を設定することもできます。例えば、en-NZをen-AUにフォールバックし、en-AUをenにフォールバックさせることができます。もしen-AUのバージョンが特定の項目に存在しなければ、en-NZのバージョンはenのバージョンにフォールバックします。

アイテムレベルのフォールバックを有効にする

言語フォールバックを使いたいすべての個別アイテムやアイテムテンプレートで、アイテムレベルのフォールバックを有効にする必要があります。

アイテムレベルのフォールバックを有効にするには:

  1. コンテンツツリーで該当するアイテムに移動します。

  2. テンプレートの言語フォールバックを有効にするには、該当するテンプレートに移動して「_Standard値」項目をクリックしてください。

    __Standard Values item
  3. コンテンツタブの詳細セクションで**「アイテムフォールバックを有効にする**」を選択してください。

    Enable Item Fallback option

    !注もし「詳細」セクションが見当たらない場合は、リボンの「ビュー」タブで「標準フィールド」を選択してください。

  4. 変更を保存してください。

フィールドレベルのフォールバックを有効にする

関連するすべてのフィールド定義項目に対してフィールドレベルのバックアップを有効にすることができます。

!注フィールドレベルのフォールバックを有効にするのは非常に手間のかかる作業なので、このプロセスを自動化し、フィールドレベルのフォールバック設定をバッチで更新するには、Sitecore Powershell Extensionsモジュールを利用できます。

現場レベルのフォールバックを可能にするために:

  1. コンテンツツリーで該当するテンプレートに移動し、フィールドレベルのフォールバックを有効にしたいフィールド定義項目をクリックします。

    Enable field-level fallback
  2. アイテムの 「データ 」セクションで、以下を選択してください:

    • フィールドレベルのフォールバックを有効にする – 現在のフィールドのすべての言語バージョンに対して言語フォールバックを有効にします。これは現在利用可能なすべての言語バージョンおよび新たに作成した言語バージョンに適用されます。

    • バージョン付きフィールドレベルのフォールバックを有効にする – 現在の言語バージョンのみのフィールドに対して言語フォールバックを有効にします。

      同じフィールドに対して異なる言語で異なるフォールバック設定(バージョン付きフォールバック)を許可するには、Sitecore.LanguageFallback.configファイル内で設定LanguageFieldFallback.AllowVaryFallbackSettingsPerLanguageをtrueに設定する必要があります。しかし、この方法ではパフォーマンスが大幅に低下します。

    !注一部のフィールド値は他のテンプレートから継承される場合があり、その場合は個別のテンプレートでも有効にする必要があります。

  3. 変更を保存してください。

この記事を改善するための提案がある場合は、 お知らせください!