[Erp5-report] r36426 yo - /erp5/trunk/products/ERP5Type/patches/Localizer.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Jun 17 14:53:15 CEST 2010


Author: yo
Date: Thu Jun 17 14:53:11 2010
New Revision: 36426

URL: http://svn.erp5.org?rev=36426&view=rev
Log:
Make sure that languages are sorted, regardless of the order of language additions. This fixes the problem that LANG-SCRIPT (e.g. ja-kana) is accidentally selected instead of LANG (e.g. ja), because itools gives the same score to both, and when multiple codes have the same score, itools just selects the first one of a language list. So, with this change, LANG is always defined before LANG-SCRIPT, thus LANG is selected.

Modified:
    erp5/trunk/products/ERP5Type/patches/Localizer.py

Modified: erp5/trunk/products/ERP5Type/patches/Localizer.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/patches/Localizer.py?rev=36426&r1=36425&r2=36426&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/patches/Localizer.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/patches/Localizer.py [utf8] Thu Jun 17 14:53:11 2010
@@ -209,6 +209,17 @@ def _del_user_defined_language(self, lan
     self.user_defined_languages = tuple(user_defined_languages)
     self._p_changed = True
 
+# Override add_language so that languages are always sorted.
+# Otherwise, selected languages can be nearly random.
+def add_language(self, language):
+    """
+    Adds a new language.
+    """
+    if language not in self._languages:
+        new_language_list = tuple(self._languages) + (language,)
+        new_language_list = tuple(sorted(new_language_list))
+        self._languages = new_language_list
+
 from Products.Localizer import LanguageManager
 LanguageManager.LanguageManager.get_languages_mapping = get_languages_mapping
 LanguageManager.LanguageManager.get_language_name = get_language_name
@@ -217,6 +228,7 @@ LanguageManager.LanguageManager.get_user
 LanguageManager.LanguageManager.get_user_defined_languages = get_user_defined_languages
 LanguageManager.LanguageManager._add_user_defined_language = _add_user_defined_language
 LanguageManager.LanguageManager._del_user_defined_language = _del_user_defined_language
+LanguageManager.LanguageManager.add_language = add_language
 LanguageManager.InitializeClass(LanguageManager.LanguageManager)
 
 #




More information about the Erp5-report mailing list