Java comes with a powerful and flexible mechanism for localizing your applications, but it's also easy to misuse and wind up with a program that disregards or mangles the user's locale, and therefore how they expect your program to behave.
Your users will expect to see data localized to the formats they're used to, and attempting to support this manually is a fools errand. Here is just a small example of the different ways users expect to see content you might assume is "always" displayed a certain way:
Dates | Numbers | Local Currency | Foreign Currency | Distances | |
---|---|---|---|---|---|
Brazil | |||||
China | |||||
Egypt | |||||
Mexico | 20/3/16 | 1.234,56 | $1,000.50 | 1,000.50 USD | |
UK | 20/3/16 | 1,234.56 | £1,000.50 | 100 km | |
USA | 3/20/16 | 1,234.56 | $1,000.50 | 1,000.50 MXN | 60 mi |
Locale