summaryrefslogtreecommitdiffstats
path: root/google_appengine/lib/django/django/middleware/locale.py
diff options
context:
space:
mode:
Diffstat (limited to 'google_appengine/lib/django/django/middleware/locale.py')
-rwxr-xr-xgoogle_appengine/lib/django/django/middleware/locale.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/google_appengine/lib/django/django/middleware/locale.py b/google_appengine/lib/django/django/middleware/locale.py
new file mode 100755
index 0000000..dd154e1
--- /dev/null
+++ b/google_appengine/lib/django/django/middleware/locale.py
@@ -0,0 +1,24 @@
+"this is the locale selecting middleware that will look at accept headers"
+
+from django.utils.cache import patch_vary_headers
+from django.utils import translation
+
+class LocaleMiddleware(object):
+ """
+ This is a very simple middleware that parses a request
+ and decides what translation object to install in the current
+ thread context. This allows pages to be dynamically
+ translated to the language the user desires (if the language
+ is available, of course).
+ """
+
+ def process_request(self, request):
+ language = translation.get_language_from_request(request)
+ translation.activate(language)
+ request.LANGUAGE_CODE = translation.get_language()
+
+ def process_response(self, request, response):
+ patch_vary_headers(response, ('Accept-Language',))
+ response['Content-Language'] = translation.get_language()
+ translation.deactivate()
+ return response