Improve kickoff's group for non-latin language.
Use icu transliterator to convert i18n'ed name into ascii for initial character grouping.
This is achieved through exposing a new model property in the kicker model. It also slightly changes how everything orders.
Strategy used by this code mainly focused on CJK language.
- Japanese locale will group all Han script together. Katakana will be converted to hiragana.
- Hangul will decompose and use consonant as group name.
- Han will use icu "Han-Latin" transliteration to convert to pinyin.
Relevant qt bug https://bugreports.qt.io/browse/QTBUG-91258
Right now, ViewSection.FirstCharacter for "display" is used for such grouping, but it doesn't work very well for non-latin like Chinese.
Pre:
Now (requires with additional one-line change in kickoff, basically for Chinese, pinyin will be used Gao -> 高 Ge -> 个):
Edited by Xuetian Weng