I’ve been messing with C++'s locale recently (trying to ensure apps work wherever they’re used in the World)… and I think I found something.
Setting the locale to Italian (which is one of those languages where a comma represents a decimal value (e.g. 0,5 is a half), and dot is the 1000’s delimiter e.g. EURO 1.234,12 )
double Slider::getValueFromText (const String& text) - has a hard-coded value which prevent the user using C++'s built-in ability to cope with numbers in locale format.
I think it should read:
return t.initialSectionContainingOnly (T("0123456789.,-"))
just in case.
I haven’t found anywhere else where this happens - but I only had a quick check. (I dunno if this is a very elegant solution)
Also, I noticed that the value repopulated into a slider’s text label doesn’t match the locale rules (i.e. still uses a decimal-point) - I haven’t been able to find out why, yet. (This might be desirable in some countries, I guess)
Perhaps in: juce_string.cpp
void String::doubleToStringWithDecPlaces (double n, int numDecPlaces) throw()
localeconv())->decimal_point rather than T(".")?