$.tablesorter does a lot of guesswork trying to infer what does the content in a table mean. It sometimes work, mostly for English; however, trying to (for example) guess if a column contains dates just plain doesn't work for some, if not most, languages.
Apart from numbers, $.tablesorter tries to guess dates and times in four distinct formats, currencies, IP addresses, and for some reasons URLs.
I'd kill everything but detecting and sorting numeric values, and even this I'd do differently (using "natural sorting" - identifying runs of digits and non-digits and sorting them separately). [http://www.codinghorror.com/blog/2007/12/sorting-for-humans-natural-sort-order.html]
For sorting any remotely complicated data one should use a data-sort-value attribute on the <td> (which will be used as the sortkey for given cell), or a template that wraps it.
Bugs probably caused by or related to this misfeature (I didn't double-check):
- T17404: Add support for sorting fractions in jquery.tablesorter
- T33137: Table sorter should support mixed strings and numbers in one column
- T36475: Incorrect sorting columns in IP/CIDR format
- T41069: tablesorter hangs up browsers
- T44097: Tablesorter hangs browsers on page load
- T44607: Tablesorter sorts all numbers as dates in Czech
- T44924: Wrong sorting in tables with {{formatnum}} in Spanish Wikipedia (es.wp) due to spaces to separate thousands
- T45165: Alphabetic operation logic of sort order function for numeric data in tables in russian language