diff --git a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/WizardTool_getUserPreferredLanguage.xml b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/WizardTool_getUserPreferredLanguage.xml index 5fe3a71e5b33cc7d92a9b3f1c1d9c99f70e881f0..4a99eeb4dcf88182361dd0c2652b56fffdffd6ba 100644 --- a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/WizardTool_getUserPreferredLanguage.xml +++ b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/WizardTool_getUserPreferredLanguage.xml @@ -66,11 +66,13 @@ if user_preferred_language is not None:\n configuration_language_list = []\n for item in context.WizardTool_getConfigurationLanguageList():\n configuration_language_list.append(item[1])\n -accept_language = REQUEST.get(\'HTTP_ACCEPT_LANGUAGE\', \'en\')\n -accept_language_tag = accept_language.split(\';\')[0].split(\',\')[0]\n -primary_language = accept_language_tag.split(\'-\')[0]\n -if primary_language in configuration_language_list:\n - return primary_language\n +http_accept_language = REQUEST.get(\'HTTP_ACCEPT_LANGUAGE\', \'en\')\n +\n +for language_set in http_accept_language.split(\',\'):\n + language_tag = language_set.split(\';\')[0]\n + language = language_tag.split(\'-\')[0]\n + if language in configuration_language_list:\n + return language\n return \'en\'\n </string> </value> </item> @@ -118,9 +120,10 @@ return \'en\'\n <string>_getiter_</string> <string>item</string> <string>_getitem_</string> - <string>accept_language</string> - <string>accept_language_tag</string> - <string>primary_language</string> + <string>http_accept_language</string> + <string>language_set</string> + <string>language_tag</string> + <string>language</string> </tuple> </value> </item> diff --git a/bt5/erp5_wizard/bt/change_log b/bt5/erp5_wizard/bt/change_log index e7c9f6495ba5d9e145da3382d1301ab0e48e6101..60ee68379cf18b3b046a00fd1c210b565587b56b 100644 --- a/bt5/erp5_wizard/bt/change_log +++ b/bt5/erp5_wizard/bt/change_log @@ -1,3 +1,6 @@ +2008-10-9 yusei +* Handle HTTP_ACCEPT_LANGUAGE better. + 2008-10-06 ivan * User server side rendered messages (for i18n) diff --git a/bt5/erp5_wizard/bt/revision b/bt5/erp5_wizard/bt/revision index 405e057083f25e684989f485a916596125fdedc0..b854a292176003137b48b2f2eb6267c6c3085c9b 100644 --- a/bt5/erp5_wizard/bt/revision +++ b/bt5/erp5_wizard/bt/revision @@ -1 +1 @@ -127 \ No newline at end of file +128 \ No newline at end of file