0

在准备将我们的 Rails 应用程序国际化时,我发现我们需要创建一个国家表和模型,其中将包含(除其他外)每个国家/地区的默认语言环境。我找到了一个有 4 年历史的资源http://snippets.dzone.com/posts/show/1727,其中包含我想要的大部分内容,但没有语言环境。是否每个人都必须手动将这部分拼凑在一起,或者我是否忽略了一些将国家/地区映射到默认语言环境的更简单方法。

PS 我们已经使用 GeoIpCountry 查找了一个用户国家,它工作得很好,但该表只提供国家名称和 2 个字母的缩写。我还想使用 country 为用户分配默认语言环境、货币和 3 字母缩写(第三方集成需要)

4

2 回答 2

1

识别用户区域设置的最佳方法是查找 HTTP 请求的 Accept-Language 设置。

例如,我的说:Accept-Language: fr-BE

这为您提供了我的语言环境、我的语言(fr:法语)和我的国家(BE:比利时)。

另外,请记住,在许多国家/地区,基于国家/地区的语言环境识别是错误的,例如我的:许多网站正确识别我的国家(比利时)并假设默认语言环境:nl-BE,因为 60% 的比利时人说荷兰语(nl)。因此,这些网站对 40% 的比利时访问者(包括我)来说是错误的。

他们的网站对我来说是一种糟糕的体验,因为它显示的语言不是我的,我必须做的第一件事就是寻找他们的小语言弹出菜单。

如果他们只是简单地查看我的Accept-Language,他们就会立即用我的语言向我展示他们的网站。

于 2011-09-20T10:19:25.160 回答
0

看看:https ://github.com/mm1/country-list

于 2011-09-19T21:22:33.223 回答