2011-04-04 83 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函數可能會對您有用。