0

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

当然,如果他将语言更改为英语(从而获得语言 cookie 或会话中的密钥),它应该保持为英语。

我想我可以自己编程这个算法,但是我在哪里“插入”呢?如何让我的项目使用它?

4

2 回答 2

0

从阅读以下内容开始: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 都可以访问三个特定于翻译的变量:

LANGUAGES 是一个元组列表,其中第一个元素是语言代码,第二个元素是语言名称(翻译成当前活动的语言环境)。

LANGUAGE_CODE 是当前用户的首选语言,为字符串。示例:en-us。(请参阅 Django 如何发现语言偏好。)

LANGUAGE_BIDI 是当前语言环境的方向。如果为 True,则为从右到左的语言,例如:希伯来语、阿拉伯语。如果为 False,则为从左到右的语言,例如:英语、法语、德语等。

如果您不使用 RequestContext 扩展,则可以使用三个标签获取这些值:

这是你要问的吗?

于 2010-02-25T14:02:01.557 回答
0

也许你不必覆盖任何东西。如果用户已经有一个语言 cookie,您可以只检查第一页(或者可能是每一页),否则将他重定向到 set_language 重定向视图。这样,您可以将语言强制为希伯来语。

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

于 2010-02-25T19:10:56.753 回答