0

我正在制作一个多语言的 Django 网站。我希望网站检查用户从哪个国家访问网站,并据此决定使用哪种语言。

什么是一个很好的工具呢?

4

3 回答 3

3

当您的一个普通用户带着他的笔记本电脑到另一个国家旅行并访问您的网站时,无法理解任何事情并且无法更改语言,那会很糟糕。

我不建议检查国家(可能通过 IP)。而是选择Accept-Language客户端浏览器发送的标头。您仍然应该保留让用户手动更改语言的选项(例如,将首选项存储在会话中)。

另一种选择是采用维基百科风格并通过 URL 设置语言(en.example.com、de.example.com 或 example.com/en/、example.com/de/)。

于 2010-02-24T13:58:40.640 回答
2

我在我的网站上遇到了类似的问题,我使用MaxMind IP 免费数据库作为模型,它被称为中间件。

因此,当用户访问该站点时,中间件通过他的 IP 检测他的国家并将他重定向到正确的语言

于 2010-03-07T23:06:33.953 回答
1

有不止一种方法可以做到这一点,但一个好的解决方案是使用地理定位套件。根据您的预算,有免费和付费的解决方案。我过去曾使用过Digital Element 的产品 (NetAcuity) 来处理这类事情,他们的解决方案是一流的。它们既提供内部服务器解决方案(用于高性能应用程序。每秒约 3 万次查询),又提供用于更典型应用程序的 Web 服务解决方案。他们有多种语言的 API,包括您可以在 Django 中使用的 Python。它们将允许您根据用户的 IP 地址查询诸如地理位置、主要和次要语言、连接速度等信息。根据我的经验,国家一级的地理准确性非常准确。

一个免费的解决方案也可以考虑是 MaxMind,虽然我对他们的产品不太熟悉。

于 2010-02-24T14:31:23.957 回答