我通过他也注册的某些第三方服务确定用户的语言偏好。此服务为我提供了区域设置代码(例如en_US
)。如果我在settings.LANGUAGES
中没有相应的语言代码,Django是否提供了一些集成(简单)方法来确定来自settings.languages
的最佳后备选择(例如en-gb
)。
当然我知道我可以自己做一些关于语言环境代码等的字符串比较,只要有一个更方便的解决方案就好奇!
答案 0 :(得分:5)
您可以看到Django用于根据请求here确定语言的代码。不幸的是,对于你正在做的事情,似乎没有一个方便的实用功能。然而,使用的逻辑是微不足道的 - 只有lop the end off如果不支持子语言并且搜索主语言作为后备。但是,这不会让您从en-us
转到en-gb
。
顺便提一下,您可能会对该文件中的to_locale
和to_language
函数感兴趣。