diff -r 92354fdeb9ca django/utils/translation/trans_real.py
--- a/django/utils/translation/trans_real.py	Sun Sep 13 12:22:17 2009 -0400
+++ b/django/utils/translation/trans_real.py	Tue Sep 29 11:48:48 2009 -0400
@@ -350,11 +350,15 @@
         if lang_code in supported and lang_code is not None and check_for_language(lang_code):
             return lang_code
 
-    lang_code = request.COOKIES.get(settings.LANGUAGE_COOKIE_NAME)
+    lang_code = request.cookies.get(settings.LANGUAGE_COOKIE_NAME)
     if lang_code and lang_code in supported and check_for_language(lang_code):
         return lang_code
 
-    accept = request.META.get('HTTP_ACCEPT_LANGUAGE', '')
+    try:
+        accept = request.environ.get('HTTP_ACCEPT_LANGUAGE', '')
+    except AttributeError:
+        accept = request.META.get('HTTP_ACCEPT_LANGUAGE', '')
+
     for accept_lang, unused in parse_accept_lang_header(accept):
         if accept_lang == '*':
             break
