The code in trunk now has all the basic features. I encourage people to test it by setting $wgExperimentalCategorySort = true;, applying the patch in maintenance/archives/patch-categorylinks-better-collation.sql, and running maintenance/updateCollation.php. Note that:
* The code is not stable or well-tested. It needs preliminary testing right now; testing it on a production site is probably a bad idea. * The entire architecture will probably be changed significantly in the near future based on feedback. * To reverse the changes, you need to disable the config option, manually reverse the SQL patch, and then run refreshLinks.php. When things change, I'll probably include instructions in my commit messages for how best to convert your schema to the new version, but it will not be done automatically as long as the feature is unstable. Obviously, once this is enabled by default everything will be automatic.
Things that currently work:
* Uppercase and lowercase letters are sorted identically. (This is my proof-of-concept collation function, it just uppercases everything.) * Categories, files, and other pages all page separately, and you get the first 200 of each independent of the others. * When you specify the same custom sort key for multiple pages, they'll sort amongst themselves according to what their default sort key would have been, not more or less randomly as it used to be.
But probably there are bugs and such. I've made a wiki page to track my work:
http://www.mediawiki.org/wiki/User:Simetrical/Collation
I don't have any further changes planned until I get feedback on my approach from Tim, other than fixing specific problems people point out to me (please do!).