[Erp5-report] r24066 - /erp5/trunk/products/ERP5Wizard/Tool/WizardTool.py

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Oct 7 14:32:26 CEST 2008


Author: yusei
Date: Tue Oct  7 14:32:17 2008
New Revision: 24066

URL: http://svn.erp5.org?rev=24066&view=rev
Log:
Find preferred language from HTTP_ACCEPT_LANGUAGE, if there is no preferred language cookie.

Modified:
    erp5/trunk/products/ERP5Wizard/Tool/WizardTool.py

Modified: erp5/trunk/products/ERP5Wizard/Tool/WizardTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Wizard/Tool/WizardTool.py?rev=24066&r1=24065&r2=24066&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Wizard/Tool/WizardTool.py (original)
+++ erp5/trunk/products/ERP5Wizard/Tool/WizardTool.py Tue Oct  7 14:32:17 2008
@@ -438,10 +438,27 @@
     parameter_dict['erp5_url'] = self.getPortalObject().absolute_url()
     # add user preffered language
     REQUEST = getattr(self, 'REQUEST', None)
-    configurator_user_preferred_language = 'en'
+
+    configurator_user_preferred_language = None
     if REQUEST is not None:
       # language value will be in cookie or REQUEST itself.
-      configurator_user_preferred_language = REQUEST.get(LANGUAGE_COOKIE_NAME, configurator_user_preferred_language)
+      configurator_user_preferred_language = REQUEST.get(LANGUAGE_COOKIE_NAME, None)
+
+      if configurator_user_preferred_language is None:
+        # Find a preferred language from HTTP_ACCEPT_LANGUAGE
+        accept_language = REQUEST.get('HTTP_ACCEPT_LANGUAGE', 'en')
+        accept_language_tag = accept_language.split(';')[0].split(',')[0]
+        primary_language = accept_language_tag.split('-')[0]
+
+        configuration_language_list = [language_set[1]
+                                       for language_set in self.WizardTool_getConfigurationLanguageList()]
+
+        if primary_language in configuration_language_list:
+          configurator_user_preferred_language = primary_language
+
+    if configurator_user_preferred_language is None:
+      configurator_user_preferred_language = 'en'
+    
     parameter_dict['user_preferred_language'] = configurator_user_preferred_language
 
   def _updateParameterDictWithFileUpload(self, parameter_dict):




More information about the Erp5-report mailing list