0

所以我有部分网站我希望我的所有用户都去美国版的页面,因为我们还没有所有语言的翻译。

我怎样才能将所有不同语言的用户发送到美国版本?对于每个语言版本,我们在 URL 中都有语言,即..

我们/页面名称 mx/页面名称 ca/页面名称

4

2 回答 2

2

语言回退会为您解决这个问题吗?你有两个选择:

  • 如果版本中不存在项目,则使用回退模块回退到另一种语言
  • 使用“部分”语言回退模块,它将回退未填充到另一种语言的数据字段。在这种情况下,您只需要在每种目标语言中创建一个空语言版本。

http://trac.sitecore.net/LanguageFallback

于 2012-04-04T22:10:05.330 回答
0

我喜欢 Language Fallback Provider 的想法,它基本上使任何在某种语言中没有值的字段回退到另一种语言(例如英语)。

另一种选择是在附近创建一个自定义HttpRequest管道处理器,LanguageResolver以查找站点该部分中的项目并为它们解析英语:

  1. 创建一个继承自的类HttpRequestProcessor
  2. 使用public override void Process(HttpRequestArgs args)代码来检查您是否在网站的该部分,如果是,请将其设置Context.Language为英语。

这只是一个想法,我没有尝试过。如果您想查看当前的LanguageResolver工作原理,请Sitecore.Kernel使用ILSpy反编译并查看Sitecore.Pipelines.HttpRequest.LanguageResolver

于 2012-04-05T01:31:16.350 回答