sitecore,根据国家或键盘设置语言

时间:2014-11-03 20:07:12

标签: asp.net sitecore sitecore6

如何使用sitecore框架基于国家/地区和/或键盘设置默认语言?

1 个答案:

答案 0 :(得分:2)

我认为你会期望开箱即用的解决方案,但实际上这些要求通常是项目所特有的。也就是说,这里有一些想法

创建自定义语言解析器可能是最好的方法。

首次尝试

我通常首先尝试使用浏览器语言偏好设置(HttpRequest.UserLanguages),这可能会提供完整的两部分语言' en-GB'或者有时只提供基本语言& #39;恩'

  • 如果这给了你全部语言,那么你就完成了。只需使用相同名称获取系统语言即可。
  • 如果它只给你基本语言,你需要以某种方式得到这个国家。
  • 如果它没有给你任何东西。您需要获取该国家/地区,并找到该国家/地区的默认语言。

获得国家

如果使用MaxMind选项,则应该在本地使用GeoLite版本,因为您无法及时执行DMS Geo IP查找。

  • 如果查找成功,并且您已经有了基本语言,那么您现在应该使用两部分语言来与您的系统语言进行比较。
  • 如果查找成功,但您没有基本语言,那么您需要获得默认值。在过去,我创建了一个语言映射' 2个字段的模板。 A'国家/地区代码'文本字段和语言' droplink source到系统语言列表。获得国家/地区代码后,只需在映射项中查找,然后相应地设置上下文语言即可。

需要考虑的一些事项

  • 请记住,当查找工作无效时,您需要有某种后备。
  • 也许将语言存储为cookie,因此不会每次都进行查找。