“es_ES” is a language + country. You must specify each part separately.
The constructors for Locale
are:
- Locale(String language)
Construct a locale from a language code. - Locale(String language, String country)
Construct a locale from language, country. - Locale(String language, String country, String variant)
Construct a locale from language, country, variant.
You want new Locale("es", "ES");
to get the Locale that goes with es_ES.
However, it would be better to use Locale.forLanguageTag("es-ES")
, using the well-formed IETF BCP 47 language tag es-ES
(with -
instead of _
), since that method can return a cached Locale
, instead of always creating a new one.