While the original issue with this ticket was mostly fixed in theory, toLocaleString is not returning the strings as it should based on different locales.
Right now, we simply use a full stop for all decimal points and a comma for all thousands separators. At the very least, we need to support different characters for decimal points (a comma is used by pretty much everyone in mainland Europe and South America) and characters other than a comma for thousands grouping.
For proper support, we would need something more advanced that doesn't expect numbers to be grouped in threes, e.g. see the information about India on http://en.wikipedia.org/wiki/Decimal_mark CLDR would probably have the information we need.