diff options
Diffstat (limited to 'google_appengine/lib/django/django/middleware/locale.py')
-rwxr-xr-x | google_appengine/lib/django/django/middleware/locale.py | 24 |
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 |