代码之家  ›  专栏  ›  技术社区  ›  Ram Rachum

Django语言猜测算法的定制

  •  0
  • Ram Rachum  · 技术社区  · 14 年前

    我正在开发一个多语言的django网站。它有两种语言,英语和希伯来语。我希望每个第一次访问的默认语言都是希伯来语,不管他的浏览器是什么 Accept-Language 是。

    当然,如果他把语言改成英语(这样他就得到了语言cookie或会话中的密钥),那么它应该保持为英语。

    我想我可以自己编程这个算法,但是我要把它插到哪里呢?如何使我的项目使用它?

    2 回复  |  直到 14 年前
        1
  •  0
  •   HWM-Rocker    14 年前

    也许你不需要覆盖任何东西。如果用户已经有语言cookie,您可以在第一个页面(或者每个页面)上进行检查,否则将他重定向到set_language redirect视图。这样你就可以把语言强加于希伯来语。

    如果用户决定改回英语,他可以很容易地做到。

        2
  •  0
  •   S.Lott    14 年前

    从阅读以下内容开始: http://docs.djangoproject.com/en/1.1/topics/i18n/#topics-i18n

    然后阅读: http://docs.djangoproject.com/en/1.1/topics/i18n/internationalization/#topics-i18n-internationalization

    每个RequestContext都可以访问 三个翻译特定变量:

    语言是一个元组列表,其中 第一个元素是语言代码 第二个是语言名称 (转换为当前活动的 现场)。

    语言代码是当前的 用户首选语言,作为 字符串。示例:en-us。(参见 Django发现语言偏好。)

    语言是当前区域设置的 方向。如果是真的,那就是 从右向左的语言,例如:希伯来语, 阿拉伯语。如果为假,则从左到右 语言,例如:英语、法语, 德语等。

    如果你不使用 RequestContext扩展,您可以 具有三个标记的值:

    这就是你要问的吗?