|Summary||PIM: select collation (Pinyin, phonebook)||PIM: hard-code collation (Pinyin, phonebook)|
LocaleFactoryBoost::genLocale() implements a hard-coded list of languages where "phonebook" collation is desirable. Currently this is "de" and "fi". We could use it in all cases, except that ICU has a bug where it does not fall back properly to the base collation. See http://sourceforge.net/mailarchive/message.php?msg_id=30802924 and http://bugs.icu-project.org/trac/ticket/10149 In addition, fully interleaved Pinyin-based sorting is used for "zh". This requires an extra transliteration of Han->Latin, because ICU itself sorts Chinese characters after Latin ones when using the "Pinyin" collation. EDS implements the same logic in the new ECollator utility class, scheduled for EDS 3.10 and included in the openismus-work-3-8 branch. SyncEvolution's PIM Manager should use these classes.