言語フォールバックを有効にして設定する
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
多言語ソリューションでは、現在の言語にコンテンツが存在しない場合、言語フォールバック機能を使って別の言語でコンテンツを表示できます。
!注SitecoreAIの言語フォールバックは2つのレベルで構成されています:
Environment-level configuration - ヘッドレスアプリケーションで使用されるGraphQLの配信(Experience EdgeおよびPreviewエンドポイント)の言語フォールバックを可能にします。ヘッドレスのシナリオで機能する言語のバックアップに必要です。
Site-level configuration - ページビルダー内でフォールバックアイテムが見えるかどうかを制御する。この設定はGraphQLの配信には影響しませんが、コンテンツ編集者がページビルダーのユーザーインターフェースでフォールバックデータソース項目を確認・選択するために必要です。
ユースケースによっては、両方のレベルを設定する必要があるかもしれません。ヘッドレス専用サイトでは、環境レベルの構成のみが必要です。ページビルダーを使用するサイトでは、通常両方の構成が必要です。
このウォークスルーでは、以下の方法を説明します:
- 言語のフォールバックルールを定義します
- 環境の言語フォールバックを有効にする
- ページビルダーを使用している場合、サイトの言語フォールバックを有効にする
- (代替)アイテムやアイテムテンプレートの言語フォールバックを有効にする
- (代替)項目テンプレートのフィールド定義項目で言語のフォールバックを有効にする
- (代替)Sitecore PowerShell拡張モジュールを活用してください
このトピックでは、コンテンツエディターでの言語フォールバックの管理方法を説明していますが 、設定言語 テーブルでも行えます。
言語のフォールバックルールを定義します
環境内の言語フォールバックに使いたい各言語について、フォールバックしたい言語を指定する必要があります。言語定義項目で指定されたフォールバック言語は、言語フォールバックが有効なすべてのフィールドと項目に適用されます。
言語のフォールバックの連鎖を作ることができます。例えば、図に示すように、韓国語はスペイン語に戻り、スペイン語は英語に戻る。韓国語版やスペイン語版がない場合、その項目やフィールドの英語版が表示されます。
言語のフォールバックルールを定義するために:
-
コンテンツツリーのコンテンツエディターでsitecore/System/Languagesに移動し、フォールバック言語を指定する言語項目をクリックしてください。
!注もし言語が足りない場合は、環境にさらに多くの言語を追加 できます。
-
データセクションの**「Fallback Language**」欄で、該当する言語を選択します。

-
変更を保存してください。
環境全体で言語のフォールバックを有効にする
まだ有効になっていなければ、環境内のすべてのサイトで言語フォールバックを有効にすると、パッチ ファイル を作成してSitecore.Services.GraphQL.EdgeContent.configで関連設定を上書きできます。パッチファイルはどんな名前でも構いませんが、ソースコードの /platform/ フォルダに入れる必要があります。これらの変更は既存のサイトにも影響を及ぼします。
アイテムやフィールド、あるいはその両方に対して言語のフォールバックを有効にすることができます。
!注環境内で個々のサイトに対して言語のフォールバックを有効にする方法はありません。言語のフォールバックは環境レベルで有効であり、サイトレベルでは有効ではないため、環境内のすべてのサイトに適用されます。
この環境レベルの構成はGraphQLの配信動作を制御しますが、ページビルダーのユーザーインターフェースには影響しません。ページビルダーを使用している場合は、サイトの言語フォールバックも有効にする必要があります。
環境の言語フォールバックを可能にするために:
サイトの言語フォールバックを有効にする
ページビルダーを使用している場合、環境全体で言語フォールバックを有効にした後に、必ずサイトに対して言語のフォールバックを有効にしなければなりません。これは、ページビルダーのユーザーインターフェースがデータソース項目の言語フォールバックオプションを表示するためです。
サイトの言語フォールバックを可能にするために:
- SitecoreAIページビルダーの中、SitecoreAIロゴの右側にあるシェブロン
をクリックし、その後「 コンテンツエディター」をクリックします。 - コンテンツエディターでサイトのサイトグループ設定へ移動してください: /sitecore/content/
/ /settings/Site Grouping/ - 設定セクションで「アイテム言語のフォールバックを有効にする」チェックボックスを選択してください。
- 変更を保存してください。
アイテムやアイテムテンプレートの言語フォールバックを有効にする
!注同じアイテムに対してアイテムレベルとフィールドレベルのフォールバックの両方を使わないでください。異なるアイテムやフィールドがフォールバックするバージョンの概要を維持するのが難しくなります。
言語フォールバックを使いたい個々のアイテムやアイテムテンプレートで、アイテムレベルのフォールバックを有効にする必要があります。アイテムテンプレートの言語フォールバックを有効にすると、そのテンプレートに基づくすべてのアイテムに影響します。
!注始める前にコンテンツエディターの「ビュー」タブで「標準フィールド」チェックボックスが選択されているか確認してください。
アイテムレベルのフォールバックを有効にするには:
-
コンテンツエディターのコンテンツツリーで、該当するアイテムへ移動します。
-
個別項目で言語フォールバックを有効にするには、詳細 セクションで「 アイテムフォールバックを有効にする 」チェックボックスを選択してください。
-
項目テンプレートの言語フォールバックを有効にするには:
-
クイックインフォセクションで、テンプレート欄のリンクをクリックしてください。
-
テンプレートマネージャーのダイアログでテンプレートアイテムを展開し、詳細セクションで__Standard Valuesアイテムをクリックします。

-
-
アイテムの フォールバックを有効にする チェックボックスを選択してください。
-
変更を保存してください。
項目テンプレートのフィールド定義項目で言語のフォールバックを有効にする
!注同じアイテムに対してアイテムレベルとフィールドレベルのフォールバックの両方を使わないでください。異なるアイテムやフィールドがフォールバックするバージョンの概要を維持するのが難しくなります。
フィールドレベルの言語フォールバックを使いたい場合は、アイテムテンプレートの関連するすべてのフィールド定義でフィールドレベル言語のフォールバックを有効にする必要があります。これは特定の言語バージョンのフィールドに対して行うことも、その分野のすべての言語バージョンに対して行うこともできます。
!注始める前にコンテンツエディターの「ビュー」タブで「標準フィールド」チェックボックスが選択されているか確認してください。
フィールド定義項目に対する言語フォールバックを有効にするには:
-
コンテンツエディターのコンテンツツリーで、関連するアイテムテンプレートに移動し、詳細 セクションで 「アイテムフォールバックを有効にする 」チェックボックスがクリアされているか確認してください。

-
フィールドレベルのフォールバックを有効にしたいフィールド定義項目をクリックします。
-
アイテムの 「データ 」セクションで、以下のいずれかまたは両方を選択します。
-
フィールドレベルのフォールバックを有効にする – 現在のフィールドのすべての言語バージョンで言語フォールバックを有効にするように選択します。これは現在利用可能なすべての言語バージョンおよび新たに作成した言語バージョンに適用されます。
-
バージョン付きフィールドレベルのフォールバックを有効にする – 現在選択されている言語バージョンのフィールドのみに対して言語フォールバックを有効にすることを選択します。
デフォルトではこの設定は無効です。有効化するには、Sitecore.LanguageFallback.configファイルで 設定 設定LanguageFieldFallback.AllowVaryFallbackSettingsPerLanguageをtrueに設定してください。しかし、これによりパフォーマンスが大幅に低下します。

!注一部のフィールド値は他のテンプレートから継承されている場合があり、その場合は各テンプレートでも有効にする必要があります。
-
-
変更を保存してください。ステップ2で選んだフィールドの項目を選択し、その後フォールバック(例えば英語)に設定した言語を選択すると、フィールドの値が英語に戻るのがわかります。

Sitecore PowerShell拡張モジュールを活用してください
フィールドレベルのフォールバックを手動で有効化するには時間がかかるため、このプロセスを自動化し、フィールドレベルのフォールバック設定をバッチ更新するために、以下のサンプルスクリプトとともにSitecore Powershell拡張機能モジュールを使用できます。
$database = "master" $path = "/sitecore/templates/Project/TestSite" $sourcePath = "${database}:${path}"
Get all items including root
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
$items = @(Get-Item -Path $sourcePath) + (Get-ChildItem -Path $sourcePath -Recurse)
Filter by template name
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
$targetItems = $items | Where-Object { $_.TemplateName -eq 'Template field' }
List of edited items
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
$editedItems = @()
foreach ($item in $targetItems) { Write-Host "Processing: Item ID: $($item.ID) | Item Name: $($item.Name)"
$field = $item.Fields"Enable Shared Language Fallback" if ($field -and $field.Value -ne "1") {
Modify field value
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
$item.Editing.BeginEdit() try { $field.Value = "1" $editedItems += $item Write-Host "✔ Enabled field language fallback: $($item.ID) | Field value: $($field.Value) | Path: $($item.Paths.Path)" -ForegroundColor Green } finally { $item.Editing.EndEdit() | Out-Null } } }
Final report
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
if ($editedItems.Count -eq 0) { Write-Host "\`n--- No items required field-level fallback update ---" } else { Write-Host "\`n--- Updated items with field-level fallback ---" $editedItems | ForEach-Object { Write-Host "Edited: $($_.Paths.FullPath) | ID: $($_.ID)" } }