2011-04-04 59 views
8

我通过他还注册过的某些第三方服务来确定用户的语言偏好。此服务为我提供了一个区域代码(例如en_US)。如果我在settings.LANGUAGES中没有相应的语言代码,Django是否提供了一些集成(简单)的方法来确定settings.languages(例如en-gb)的最佳后备选择。Django i18n找到支持的语言

当然,我知道我自己可以做一些区域代码等字符串比较,只是好奇,如果有更好的解决方案!

回答

5

您可以看到Django根据请求here来确定语言的代码。不幸的是,对于你正在做的事,似乎没有一个方便的实用功能。然而,使用的逻辑是微不足道的 - 只要lop the end off,如果不支持子语言,搜索主语言作为后备。但是,这不会让你从en-usen-gb

顺便说一下,该文件中的to_localeto_language函数可能会对您有用。