0

したがって、すべての言語の翻訳がまだないため、すべてのユーザーに米国版のページにアクセスしてもらいたいサイトのセクションがあります。

異なる言語のすべてのユーザーを米国版に送信するにはどうすればよいですか? すべての言語バージョンについて、URL に言語があります。

us/ページ名 mx/ページ名 ca/ページ名

4

2 に答える 2

2

言語のフォールバックはこの問題を解決しますか? 次の 2 つのオプションがあります。

  • バージョンに項目が存在しない場合に別の言語にフォールバックする Fallback モジュールを使用する
  • 別の言語に入力されていないデータ フィールドをフォールバックする、「部分的な」言語フォールバック モジュールを使用します。この場合、各ターゲット言語で空の言語バージョンを作成するだけです。

http://trac.sitecore.net/LanguageFallback

于 2012-04-04T22:10:05.330 に答える
0

基本的に、特定の言語で値を持たないフィールドを別の言語 (英語など) にフォールバックする言語フォールバック プロバイダーのアイデアが気に入っています。

もう 1 つのオプションは、 のHttpRequest近くにカスタム パイプライン プロセッサを作成LanguageResolverして、サイトのそのセクションでアイテムを検索し、それらの英語を解決することです。

  1. を継承するクラスを作成します。HttpRequestProcessor
  2. public override void Process(HttpRequestArgs args)サイトのそのセクションにいるかどうかを確認するコードを実装し、そうであればContext.Language英語に設定します。

これは単なるアイデアであり、私は試していません。LanguageResolver現在の動作を確認したい場合は、 ILSpySitecore.Kernelで逆コンパイルして、Sitecore.Pipelines.HttpRequest.LanguageResolver

于 2012-04-05T01:31:16.350 に答える