source: main/waeup.sirp/trunk/src/waeup/sirp/language.py @ 7677

Last change on this file since 7677 was 7676, checked in by Henrik Bettermann, 13 years ago

Define portal language in SIRPLanguage adapter, not yet needed, but we will in the future.

  • Property svn:keywords set to Id
File size: 1.7 KB
Line 
1## $Id: language.py 7676 2012-02-22 10:33:27Z henrik $
2##
3## Copyright (C) 2012 Uli Fouquet & Henrik Bettermann
4## This program is free software; you can redistribute it and/or modify
5## it under the terms of the GNU General Public License as published by
6## the Free Software Foundation; either version 2 of the License, or
7## (at your option) any later version.
8##
9## This program is distributed in the hope that it will be useful,
10## but WITHOUT ANY WARRANTY; without even the implied warranty of
11## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12## GNU General Public License for more details.
13##
14## You should have received a copy of the GNU General Public License
15## along with this program; if not, write to the Free Software
16## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17##
18
19import grokcore.component
20from zope.publisher.interfaces.browser import IBrowserRequest
21from zope.i18n.interfaces import IUserPreferredLanguages
22from waeup.sirp.configuration import ConfigurationContainer
23
24class SIRPLanguage(grokcore.component.Adapter):
25    """Set portal and preferred languages"""
26    grokcore.component.context(IBrowserRequest)
27    grokcore.component.implements(IUserPreferredLanguages)
28    # This the only place where we define the portal language
29    # which is used for the translation of system messages
30    # (e.g. object histories).
31    portal_language = 'en'
32
33    def getPreferredLanguages(self):
34        # This an adapter for the request, so self.context is the request.
35        request = self.context
36
37        # Extract the preferred language from a cookie:
38        lang = request.cookies.get('sirp.language', self.portal_language)
39
40        # According to IUserPreferredLanguages, we must return a list.
41        return [lang]
Note: See TracBrowser for help on using the repository browser.